From tsroynciitraoln at gmail.com Mon Nov 2 05:36:04 2015 From: tsroynciitraoln at gmail.com (tsroynciitraoln) Date: Thu Nov 5 00:33:34 2015 Subject: [xsd-users] Re: CodeSynthesis XSD + ODB In-Reply-To: References: Message-ID: Dear all, I'm currently dealing with XSD schemas and database objects. I'm generating classes with Code Synthesis XSD, but I also need to persist those objects in a database. Is it possible to generate *.hpp and *.cpp files from XSD schemas with ODB support directly included? Best regards 2015-10-29 16:46 GMT+01:00 Boris Kolpackov : > Hi, > > Could you please send technical questions like this to the appropriate > mailing list (I think xsd-users is the one in this case) instead of to > me directly. See posting guidelines for details: > > http://codesynthesis.com/support/posting-guidelines.xhtml > > > Best regards, > Boris > > > ----- Original Message ----- > From: "tsroynciitraoln" > Subject: CodeSynthesis XSD + ODB > Date: Tue, 27 Oct, 2015 14:24 +0100 > > Dear Boris, > > I'm currently dealing with XSD schemas and database objects. > > Is it possible to generate *.hpp and *.cpp files from XSD schemas with ODB > support directly included ? > > Best regards > From boris at codesynthesis.com Thu Nov 5 03:40:20 2015 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Nov 5 03:40:23 2015 Subject: [xsd-users] Re: CodeSynthesis XSD + ODB In-Reply-To: References: Message-ID: Hi, tsroynciitraoln writes: > I'm currently dealing with XSD schemas and database objects. > > I'm generating classes with Code Synthesis XSD, but I also need to persist > those objects in a database. > > Is it possible to generate *.hpp and *.cpp files from XSD schemas with ODB > support directly included? No, there is no such support. Mapping a typical XML Schema to a sensible relational model without a large amount of user input will be non-trivial. See this email for more information: http://www.codesynthesis.com/pipermail/odb-users/2012-May/000533.html So the recommended approach would be to provide the ODB mapping manually. You can do it completely non-intrusively, without modifying any of the XSD-generated code, as shown at the beginning of Chapter 14, "ODB Pragma Language" in the ODB manual. Boris From wendy01142015 at outlook.com Mon Nov 9 10:30:20 2015 From: wendy01142015 at outlook.com (wendy f) Date: Mon Nov 9 10:30:27 2015 Subject: [xsd-users] error: '--namespace-map': unable to open in read mode Message-ID: Employee.xsd $/xsd/xsd-3.2.0-x86_64-linux-gnu/bin/xsd cxx-tree --hxx-suffix .h --cxx-suffix .cpp --generate-default-ctor Employee.xsd# compile without problems $/xsd/xsd-3.2.0-x86_64-linux-gnu/bin/xsd cxx-tree --hxx-suffix .h --cxx-suffix .cpp --generate-default-ctor Employee.xsd --namespace-map =employee--namespace-map: error: '--namespace-map': unable to open in read mode Question> can someone tell me why the '--namespace-map' doesn't work here? Thank you From boris at codesynthesis.com Mon Nov 9 11:02:17 2015 From: boris at codesynthesis.com (Boris Kolpackov) Date: Mon Nov 9 11:02:15 2015 Subject: [xsd-users] error: '--namespace-map': unable to open in read mode In-Reply-To: References: Message-ID: Hi, wendy f writes: > $/xsd/xsd-3.2.0-x86_64-linux-gnu/bin/xsd cxx-tree --hxx-suffix .h \ > --cxx-suffix .cpp --generate-default-ctor Employee.xsd --namespace-map \ > =employee > > Question> can someone tell me why the '--namespace-map' doesn't work here? Because you need to specify options before input files: ... --namespace-map =employee Employee.xsd Boris From jon.k.winn at rrd.com Wed Nov 11 18:33:08 2015 From: jon.k.winn at rrd.com (Jon Winn) Date: Wed Nov 11 23:26:19 2015 Subject: [xsd-users] Building xsd+dep Message-ID: I'm trying to build xsd from source so I cloned the xsd+dep git repo. I got build 0.3.10 and successfully installed it into my home (/home/lpjkw1/blocal/) but now I'm getting the following error when I try building the xsd+dep source: lpjkw1@rrlnx-pwsd06: ~/dev/xsd+dep 18:27:17 $ pwd /home/lpjkw1/dev/xsd+dep lpjkw1@rrlnx-pwsd06: ~/dev/xsd+dep 18:27:19 $ make install_prefix=/home/lpjkw1/blocal CXXFLAGS=-I/apps/xerces_3.1.2/include LDFLAGS=-L/apps/xerces_3.1.2/lib verbose=1 mkdir -p /build mkdir: cannot create directory `/build': Permission denied make: *** No rule to make target `//home/lpjkw1/dev/xsd+dep/xsd/xsd', needed by `//home/lpjkw1/dev/xsd+dep/'. Stop. It seems that the appropriate path isn't being constructed so it's trying to do a mkdir in the drive root (/biuld). I'm new to make and not very good at it so I'm just not seeing what I'm missing. Any help is appreciated! JKW Specs: - bash: GNU bash 4.1.2 - make: GNU Make 3.81 - g++: GCC 4.4.7 - on CentOS 6.4 (Red Hat 4.4.7-3) *_______________________________________________________________________________________* *Jon K. Winn** | Software Engineer 2 | RR Donnelley* 630 West 1000 North | Logan, Utah 84321 | Office: (435) 755-4343 | Mobile: (435) 720-3951 | Fax: (435) 753-8673 | Email: jon.winn@rrd.com From olitour at gmail.com Thu Nov 12 05:15:49 2015 From: olitour at gmail.com (Olivier Tournaire) Date: Thu Nov 12 05:16:37 2015 Subject: [xsd-users] Writing CityGML ADE Message-ID: Hi, I use xsd cxx-tree to generate C++ code from CityGML 2.0.0 XSD schema. I have also defined some ADEs, and I am having trouble when I try to write attributes of, let's say a Building, when they are defined as _GenericApplicationPropertyOfAbstractBuilding. Here is an extract of the XSD defining the ADE: ... The code is properly genereated, and, when I try to read a sample ADE file I do not have any problem: element name is properly recognized and mapped to the correct namespace. My problem arises when I try to write a file with the following code: int main(int argc, char** argv) { try { CityModelType cityModel; // Write the input file ofstream output( string(EXAMPLES_PATH + "ade_output.gml").c_str() ); xml_schema::namespace_infomap ns_map; ns_map["xsi"].name = "http://www.w3.org/2001/XMLSchema-instance"; ns_map[""].name = "http://www.opengis.net/citygml/2.0"; ns_map[""].schema = "../../CityGML.xsd"; ns_map["xAL"].name = "urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"; ns_map["xAL"].schema = "../../xAL/xAL.xsd"; ns_map["xlink"].name = "http://www.w3.org/1999/xlink"; ns_map["xlink"].schema = "../../3.1.1/xlink/xlinks.xsd"; ns_map["dem"].name = "http://www.opengis.net/citygml/relief/2.0"; ns_map["dem"].schema = "../../CityGML/relief.xsd"; ns_map["bldg"].name = "http://www.opengis.net/citygml/building/2.0 "; ns_map["bldg"].schema = "../../CityGML/building.xsd"; ns_map["gml"].name = "http://www.opengis.net/gml"; ns_map["gml"].schema = "../../3.1.1/base/gml.xsd"; ns_map["sample_ade"].name = www.sample_ade.com"; ns_map["sample_ade"].schema = "sample_ade.xsd"; bldg::BuildingType bldg; bldg::BuildingType::_GenericApplicationPropertyOfAbstractBuilding_sequence gapSequence; gml::MeasureType vp(1.3, "unit of measure"); vp._name("value_property"); vp._namespace("sample_ade"); gml::MeasureType ap(56.3, "unit sure"); ap._name("area_property"); ap._namespace("sample_ade"); // No success with ap._namespace("www.sample_ade.com"); gapSequence.push_back(vp); gapSequence.push_back(ap); bldg._GenericApplicationPropertyOfAbstractBuilding(gapSequence); gml::FeaturePropertyType cityGMLBuildingFeatureProperty; cityGMLBuildingFeatureProperty._name ("cityObjectMember"); cityGMLBuildingFeatureProperty._namespace (" http://www.opengis.net/citygml/2.0"); cityGMLBuildingFeatureProperty._Feature(bldg); cityModel.featureMember().push_back(cityGMLBuildingFeatureProperty); CityModel(output, cityModel, ns_map); //CityModel(output, cityModel, ns_map, "UTF-8", xsd::cxx::tree::flags::dont_validate); } catch (const xml_schema::exception& e) { cerr << "Exception caught: " << e.what() << " --> " << e << endl; } return 0; } The output is: ... 1.3 56.3 As you can see, the namespace is correct, but the name of the property is always the same. It seems that it is always the last one defined in the ADE. I have no clue why this error happen. Note that I use a custom type, the one which is defined on the wiki: http://wiki.codesynthesis.com/Schemas/CityGML. I howver use CityGML 2.0.0 XSD schemas. Note also that with this code: gml::MeasureType dummy(56.3, "unit sure"); dummy._name("dummy_name"); dummy._namespace("dummy_sample"); I have as output in my gml file: ... 56.3 Hope you could help. Best regards, Olivier From boris at codesynthesis.com Thu Nov 12 10:05:58 2015 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Nov 12 10:05:55 2015 Subject: [xsd-users] Building xsd+dep In-Reply-To: References: Message-ID: Hi Jon, Jon Winn writes: > I'm trying to build xsd from source so I cloned the xsd+dep git repo. xsd+dep in the repository is an "overlay". You have to actually copy all the "dependencies" into it before it can be built. Here is the fragment of the script that assembles xsd+dep: cd xsd+dep git archive master | tar -x -C ../xsd-$v+dep cd ../xsd-$v+dep rsync -aq --copy-unsafe-links ../xsd-$v/ xsd/ cd .. # Copy libcult # rsync -aq --copy-unsafe-links ../cutl/libcutl-$cv/ xsd-$v+dep/libcutl/ # Copy libxsd-fe # rsync -aq --copy-unsafe-links libxsd-frontend-$xfv/ xsd-$v+dep/libxsd-frontend/ # Install build # make -C ../build/build-$bv install_inc_dir=`pwd`/xsd-$v+dep install In this light, if your goal is to be able to keep building the latest repository, then xsd+dep is probably not very useful. It will be more straightforward to just clone and build all the dependencies individually. Boris From boris at codesynthesis.com Thu Nov 12 10:16:43 2015 From: boris at codesynthesis.com (Boris Kolpackov) Date: Thu Nov 12 10:16:39 2015 Subject: [xsd-users] Writing CityGML ADE In-Reply-To: References: Message-ID: Hi Olivier, Olivier Tournaire writes: > As you can see, the namespace is correct, but the name of the property is > always the same. It seems that it is always the last one defined in the > ADE. If more than one element substitutes for the same type, XSD can pick any one of them since the result will be valid according to the schema. This is a pretty poor (IMO) vocabulary design that uses element names as some kind of significant application-specific IDs. This page on the Wiki discussed one possible solution: http://wiki.codesynthesis.com/Schemas/NIST-ITL Boris From wendy01142015 at outlook.com Thu Nov 12 22:24:12 2015 From: wendy01142015 at outlook.com (wendy f) Date: Thu Nov 12 22:24:19 2015 Subject: [xsd-users] When present function is created? Message-ID: Hello all, CaseI: CaseII: In caseI, the generated C++ code will support the function 'present'. However, in caseII, the generated C++ code will NOT support the function 'present'. By default, the value of minOccurs is 1. Question> Is there a way that we can force the XSD always supports 'present' function? Thank you From olitour at gmail.com Fri Nov 13 04:34:22 2015 From: olitour at gmail.com (Olivier Tournaire) Date: Fri Nov 13 04:35:09 2015 Subject: [xsd-users] Writing CityGML ADE In-Reply-To: References: Message-ID: Boris, Thanks for you quick reply. I tried to use the same implementation as NIST-ITL for custom schema, but still have the same problem. I attach the implementation I use. Hope you can give me some ideas to fix this problem! Best regards Olivier 2015-11-12 16:16 GMT+01:00 Boris Kolpackov : > Hi Olivier, > > Olivier Tournaire writes: > > > As you can see, the namespace is correct, but the name of the property is > > always the same. It seems that it is always the last one defined in the > > ADE. > > If more than one element substitutes for the same type, XSD can pick any > one of them since the result will be valid according to the schema. This > is a pretty poor (IMO) vocabulary design that uses element names as some > kind of significant application-specific IDs. This page on the Wiki > discussed one possible solution: > > http://wiki.codesynthesis.com/Schemas/NIST-ITL > > Boris > -------------- next part -------------- // Copyright (C) 2005-2010 Code Synthesis Tools CC // // This program was generated by CodeSynthesis XSD, an XML Schema to // C++ data binding compiler. // // 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. // // Furthermore, 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. // #ifndef XML_SCHEMA_HXX #define XML_SCHEMA_HXX // Begin prologue. // #include "xs_export.hpp" // // End prologue. #include #if (XSD_INT_VERSION != 3030000L) #error XSD runtime version mismatch #endif #include #ifndef XSD_USE_CHAR #define XSD_USE_CHAR #endif #ifndef XSD_CXX_TREE_USE_CHAR #define XSD_CXX_TREE_USE_CHAR #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace xml_schema { // anyType and anySimpleType. // typedef ::xsd::cxx::tree::type type_base; class type; typedef ::xsd::cxx::tree::simple_type< type > simple_type; typedef ::xsd::cxx::tree::type container; // 8-bit // typedef signed char byte; typedef unsigned char unsigned_byte; // 16-bit // typedef short short_; typedef unsigned short unsigned_short; // 32-bit // typedef int int_; typedef unsigned int unsigned_int; // 64-bit // typedef long long long_; typedef unsigned long long unsigned_long; // Supposed to be arbitrary-length integral types. // typedef long long integer; typedef long long non_positive_integer; typedef unsigned long long non_negative_integer; typedef unsigned long long positive_integer; typedef long long negative_integer; // Boolean. // typedef bool boolean; // Floating-point types. // typedef float float_; typedef double double_; typedef double decimal; // String types. // typedef ::xsd::cxx::tree::string< char, simple_type > string; typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string; typedef ::xsd::cxx::tree::token< char, normalized_string > token; typedef ::xsd::cxx::tree::name< char, token > name; typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken; typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens; typedef ::xsd::cxx::tree::ncname< char, name > ncname; typedef ::xsd::cxx::tree::language< char, token > language; // ID/IDREF. // typedef ::xsd::cxx::tree::id< char, ncname > id; typedef ::xsd::cxx::tree::idref< char, ncname, type > idref; typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs; // URI. // typedef ::xsd::cxx::tree::uri< char, simple_type > uri; // Qualified name. // typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname; // Binary. // typedef ::xsd::cxx::tree::buffer< char > buffer; typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary; typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary; // Date/time. // typedef ::xsd::cxx::tree::time_zone time_zone; typedef ::xsd::cxx::tree::date< char, simple_type > date; typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time; typedef ::xsd::cxx::tree::duration< char, simple_type > duration; typedef ::xsd::cxx::tree::gday< char, simple_type > gday; typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth; typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day; typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear; typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month; typedef ::xsd::cxx::tree::time< char, simple_type > time; // Entity. // typedef ::xsd::cxx::tree::entity< char, ncname > entity; typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities; // Namespace information and list stream. Used in // serialization functions. // typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info; typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap; typedef ::xsd::cxx::tree::list_stream< char > list_stream; typedef ::xsd::cxx::tree::as_double< double_ > as_double; typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal; typedef ::xsd::cxx::tree::facet facet; // Flags and properties. // typedef ::xsd::cxx::tree::flags flags; typedef ::xsd::cxx::tree::properties< char > properties; // Parsing/serialization diagnostics. // typedef ::xsd::cxx::tree::severity severity; typedef ::xsd::cxx::tree::error< char > error; typedef ::xsd::cxx::tree::diagnostics< char > diagnostics; // Exceptions. // typedef ::xsd::cxx::tree::exception< char > exception; typedef ::xsd::cxx::tree::bounds< char > bounds; typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id; typedef ::xsd::cxx::tree::parsing< char > parsing; typedef ::xsd::cxx::tree::expected_element< char > expected_element; typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element; typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute; typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator; typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content; typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping; typedef ::xsd::cxx::tree::no_type_info< char > no_type_info; typedef ::xsd::cxx::tree::not_derived< char > not_derived; typedef ::xsd::cxx::tree::serialization< char > serialization; // Error handler callback interface. // typedef ::xsd::cxx::xml::error_handler< char > error_handler; // DOM interaction. // namespace dom { // Automatic pointer for DOMDocument. // using ::xsd::cxx::xml::dom::auto_ptr; // DOM user data key for back pointers to tree nodes. // const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node; } } #include // Begin epilogue. // #include "xml-schema-custom.hxx" // // End epilogue. #endif // XML_SCHEMA_HXX -------------- next part -------------- #include // Include xml-schema.hxx instead of xml-schema-custom.hxx here. // #include "xml-schema.hxx" #include #include #include // 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) { // Extract element name and use it as the type id. // type_id_ = xml::transcode (e.getNodeName ()); name_ = xml::transcode (e.getLocalName ()); if (const XMLCh* ns = e.getNamespaceURI ()) namespace_ = xml::transcode (ns); } type:: type (const xercesc::DOMAttr& a, flags f, container* c) : type_base (a, f, c) { // No substitution groups in attributes. // } type:: type (const std::string& s, const xercesc::DOMElement* e, flags f, container* c) : type_base (s, e, f, c) { // No substitution groups in list items. // } type:: type (const type& x, flags f, container* c) : type_base (x, f, c), type_id_ (x.type_id_), name_ (x.name_), namespace_ (x.namespace_) { } type* type:: _clone (flags f, container* c) const { return new type (*this, f, c); } // Serialization operators. // void operator<< (xercesc::DOMElement& e, const type& x) { using namespace std; using namespace xercesc; // Change element name if it doesn't match type id. // const string& tid (x._type_id ()); const string& n (x._name ()); const string& ns (x._namespace ()); std::string sdlfkjsdfklj = xml::transcode (e.getNodeName ()); if (!tid.empty () && xml::transcode (e.getNodeName ()) != tid) { DOMDocument* doc = e.getOwnerDocument (); const XMLCh* ns; string::size_type p (tid.find (':')); if (p != string::npos) { string prefix (tid, 0, p); ns = e.lookupNamespaceURI (xml::string (prefix).c_str ()); } else ns = e.lookupNamespaceURI (0); DOMNode* n = doc->renameNode (&e, ns, xml::string (tid).c_str ()); assert (n == &e); } // Call our base. // const type_base& b (x); e << b; } } -------------- next part -------------- // 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 namespace xml_schema { class XS_EXPORT 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: // Type id. // const std::string& _type_id () const { return type_id_; } void _type_id (const std::string& id) { type_id_ = id; } void _name (const std::string& n) { name_ = n; } void _namespace (const std::string& ns) { namespace_ = ns; } const std::string& _name () const { return name_; } const std::string& _namespace () const { return namespace_; } private: std::string type_id_; std::string name_; std::string namespace_; }; // New element serialization operator. // void operator<< (xercesc::DOMElement&, const type&); } From crballentine at essvote.com Fri Nov 13 09:55:52 2015 From: crballentine at essvote.com (Ballentine, Casey) Date: Fri Nov 13 09:55:59 2015 Subject: [xsd-users] question on optional elements/attributes syntax Message-ID: <97A27ED137938F458D4C412E5B1880E416C0693B@ESS-EX01.essvote.corp.local> Hello, I've recently upgraded to XSD 4.0.0 from 3.1.0 and I've noticed that the cxx-tree syntax for optional elements/attributes changed. For instance, a required element/attribute would have this call syntax: MyElementType myElement = myXmlDataPointer->ThisIsMyElement(); Whereas optional elements/attributes needed this syntax: if (myXmlDataPointer->ThisIsMyElement().present()) { myElement = myXmlDataPointer->ThisIsMyElement().get(); } else { myElement = DEFAULT_VALUE; } So basically an optional element/attribute didn't have the ThisIsMyElement() direct access method. I found this handy in that if we changed an element from required to optional I could follow the resulting compiler errors and verify that myElement was getting set to a proper default value. Did this really change from XSD 3.1.0 or am I dense? And is there a way to prevent an optional object from generating a ThisIsMyElement() direct access method? C++ compiler: g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 (in case that's relevant). Thanks, Casey From wendy01142015 at outlook.com Fri Nov 13 17:14:48 2015 From: wendy01142015 at outlook.com (wendy f) Date: Fri Nov 13 17:14:55 2015 Subject: [xsd-users] Which debug option I need to use? Message-ID: Hello all, I am following the tutorial on http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/#2 and it works fine for the driver.cxx. But whenever I try to load the driver with gdb, it always complain that "no debugging symbols found"). I have used the following command the build the code: g++ -g -c driver_serialization.cxx hello.cxx -I/xerces/3.1.0/include -I/xsd-3.2.0-x86/libxsdg++ -g -Wall -o driver driver_serialization.o hello.o -L /xerces/c3.1.0/ -lxerces-c Thank you From jon.k.winn at rrd.com Fri Nov 13 19:59:42 2015 From: jon.k.winn at rrd.com (Jon Winn) Date: Fri Nov 13 20:00:09 2015 Subject: [xsd-users] Building xsd+dep In-Reply-To: References: Message-ID: I believe I have all the dependencies installed now, but when I do *make* in the xsd-4.0.0 directory, I get hit immediately with this error: $ make verbose=1 g++ -I/apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd -I/apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd -g -I /home/lpjkw1/local/include -I /apps/xerces_3.1.2/include -I /apps/powerstream/pdev/jwinn/libxsd-frontend-2.0.0 -I /apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd -o /apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd/xsd.o -c /apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd/xsd.cxx /apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd/xsd.cxx:23:32: error: cxx/tree/options.hxx: No such file or directory /apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd/xsd.cxx:24:34: error: cxx/parser/options.hxx: No such file or directory/apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd/xsd.cxx:34:23: error: options.hxx: No such file or directory In file included from /apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd/xsd.cxx:26: /apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd/cxx/tree/generator.hxx:30: error: 'options' has not been declared In file included from /apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd/xsd.cxx:27: /apps/powerstream/pdev/jwinn/xsd-4.0.0/xsd/cxx/parser/generator.hxx:30: error: 'options' has not been declared ..... ?Any ideas? JKW? On Thu, Nov 12, 2015 at 8:05 AM, Boris Kolpackov wrote: > Hi Jon, > > Jon Winn writes: > > > I'm trying to build xsd from source so I cloned the xsd+dep git repo. > > xsd+dep in the repository is an "overlay". You have to actually copy > all the "dependencies" into it before it can be built. Here is the > fragment of the script that assembles xsd+dep: > > cd xsd+dep > git archive master | tar -x -C ../xsd-$v+dep > cd ../xsd-$v+dep > rsync -aq --copy-unsafe-links ../xsd-$v/ xsd/ > cd .. > > # Copy libcult > # > rsync -aq --copy-unsafe-links ../cutl/libcutl-$cv/ xsd-$v+dep/libcutl/ > > # Copy libxsd-fe > # > rsync -aq --copy-unsafe-links libxsd-frontend-$xfv/ > xsd-$v+dep/libxsd-frontend/ > > # Install build > # > make -C ../build/build-$bv install_inc_dir=`pwd`/xsd-$v+dep install > > In this light, if your goal is to be able to keep building the latest > repository, then xsd+dep is probably not very useful. It will be more > straightforward to just clone and build all the dependencies individually. > > Boris > From boris at codesynthesis.com Mon Nov 16 05:00:56 2015 From: boris at codesynthesis.com (Boris Kolpackov) Date: Mon Nov 16 05:00:50 2015 Subject: [xsd-users] question on optional elements/attributes syntax In-Reply-To: <97A27ED137938F458D4C412E5B1880E416C0693B@ESS-EX01.essvote.corp.local> References: <97A27ED137938F458D4C412E5B1880E416C0693B@ESS-EX01.essvote.corp.local> Message-ID: Hi Casey, Ballentine, Casey writes: > So basically an optional element/attribute didn't have the > ThisIsMyElement() direct access method. > > Did this really change from XSD 3.1.0 [...] No, I don't think that changed. Here is the mapping for the lang attribute (optional) from the 'library' example: // lang // typedef xml_schema::language lang_type; typedef xsd::cxx::tree::optional< lang_type > lang_optional; typedef xsd::cxx::tree::traits< lang_type, char > lang_traits; const lang_optional& lang () const; lang_optional& lang (); void lang (const lang_type&); void lang (const lang_optional&); void lang (std::auto_ptr< lang_type >); While there are direct accessors (the first two), they don't return the element value but rather the optional container. Boris From boris at codesynthesis.com Mon Nov 16 08:12:54 2015 From: boris at codesynthesis.com (Boris Kolpackov) Date: Mon Nov 16 08:12:48 2015 Subject: [xsd-users] Building xsd+dep In-Reply-To: References: Message-ID: <20151116131254.GA18731@codesynthesis.com> Hi Jon, Jon Winn writes: > I believe I have all the dependencies installed now, but when I do *make* in > the xsd-4.0.0 directory, I get hit immediately with this error: > > [...] > > cxx/tree/options.hxx: No such file or directory This file is generated by the CLI compiler. Do you have this dependency installed? You should have been asked for it during the XSD configuration phase. Boris From jon.k.winn at rrd.com Mon Nov 16 09:06:26 2015 From: jon.k.winn at rrd.com (Jon Winn) Date: Mon Nov 16 09:06:53 2015 Subject: [xsd-users] Building xsd+dep In-Reply-To: <20151116131254.GA18731@codesynthesis.com> References: <20151116131254.GA18731@codesynthesis.com> Message-ID: That's what I thought. I have it installed but I guess I missed where the configuration asked for it. Its location is included in $PATH so I presumed it would pick it up. dev/jwinn/xsd-4.0.0 09:02:51 $ which cli ~/local/bin/cli If it's just rerunning the config, can you instruct me on doing that? JKW *_______________________________________________________________________________________* *Jon K. Winn** | Software Engineer 2 | RR Donnelley* 630 West 1000 North | Logan, Utah 84321 | Office: (435) 755-4343 | Mobile: (435) 720-3951 | Fax: (435) 753-8673 | Email: jon.winn@rrd.com On Mon, Nov 16, 2015 at 6:12 AM, Boris Kolpackov wrote: > Hi Jon, > > Jon Winn writes: > > > I believe I have all the dependencies installed now, but when I do > *make* in > > the xsd-4.0.0 directory, I get hit immediately with this error: > > > > [...] > > > > cxx/tree/options.hxx: No such file or directory > > This file is generated by the CLI compiler. Do you have this dependency > installed? You should have been asked for it during the XSD configuration > phase. > > Boris > From boris at codesynthesis.com Mon Nov 16 09:23:20 2015 From: boris at codesynthesis.com (Boris Kolpackov) Date: Mon Nov 16 09:41:44 2015 Subject: [xsd-users] Building xsd+dep In-Reply-To: References: <20151116131254.GA18731@codesynthesis.com> Message-ID: Hi Jon, Jon Winn writes: > If it's just rerunning the config, can you instruct me on doing that? JKW $ cd xsd-4.0.0 $ rm build/import/cli/configuration-dynamic.make $ make Here you should be prompted for the CLI configuration. Boris From boris at codesynthesis.com Mon Nov 16 10:15:29 2015 From: boris at codesynthesis.com (Boris Kolpackov) Date: Mon Nov 16 10:15:35 2015 Subject: [xsd-users] When present function is created? In-Reply-To: References: Message-ID: Hi Wendy, > Is there a way that we can force the XSD always supports 'present' > function? The present() function is not generated. It is defined in the optional container in libxsd/xsd/cxx/tree/containers.hxx. If you want to "force" it onto the sequence container, you will have to add it in that file. Boris From boris at codesynthesis.com Mon Nov 16 10:18:08 2015 From: boris at codesynthesis.com (Boris Kolpackov) Date: Mon Nov 16 10:18:12 2015 Subject: [xsd-users] Which debug option I need to use? In-Reply-To: References: Message-ID: Hi Wendy, wendy f writes: > I have used the following command the build the code: > > g++ -g -c driver_serialization.cxx hello.cxx -I/xerces/3.1.0/include -I/xsd-3.2.0-x86/libxsdg++ -g -Wall -o driver driver_serialization.o hello.o -L /xerces/c3.1.0/ -lxerces-c This is a link command line. You will also need to add -g to the compile command lines (those that produce .o files). Boris From crballentine at essvote.com Tue Nov 17 10:28:02 2015 From: crballentine at essvote.com (Ballentine, Casey) Date: Tue Nov 17 10:28:11 2015 Subject: [xsd-users] question on optional elements/attributes syntax In-Reply-To: References: <97A27ED137938F458D4C412E5B1880E416C0693B@ESS-EX01.essvote.corp.local> Message-ID: <97A27ED137938F458D4C412E5B1880E416C071AE@ESS-EX01.essvote.corp.local> Hi Boris, I see the same thing in our generated databinding code. The returned values for optional elements are ThisIsMyElement_optional types. One thing I did discover is that complex elements that have sub-elements do require the .present() and .get() calls, but simple elements like Booleans can be accessed using the direct method. Does that make sense? Thanks, Casey -----Original Message----- From: Boris Kolpackov [mailto:boris@codesynthesis.com] Sent: Monday, November 16, 2015 4:01 AM To: Ballentine, Casey Cc: xsd-users@codesynthesis.com Subject: Re: [xsd-users] question on optional elements/attributes syntax Hi Casey, Ballentine, Casey writes: > So basically an optional element/attribute didn't have the > ThisIsMyElement() direct access method. > > Did this really change from XSD 3.1.0 [...] No, I don't think that changed. Here is the mapping for the lang attribute (optional) from the 'library' example: // lang // typedef xml_schema::language lang_type; typedef xsd::cxx::tree::optional< lang_type > lang_optional; typedef xsd::cxx::tree::traits< lang_type, char > lang_traits; const lang_optional& lang () const; lang_optional& lang (); void lang (const lang_type&); void lang (const lang_optional&); void lang (std::auto_ptr< lang_type >); While there are direct accessors (the first two), they don't return the element value but rather the optional container. Boris From boris at codesynthesis.com Tue Nov 17 11:34:17 2015 From: boris at codesynthesis.com (Boris Kolpackov) Date: Tue Nov 17 11:34:21 2015 Subject: [xsd-users] question on optional elements/attributes syntax In-Reply-To: <97A27ED137938F458D4C412E5B1880E416C071AE@ESS-EX01.essvote.corp.local> References: <97A27ED137938F458D4C412E5B1880E416C0693B@ESS-EX01.essvote.corp.local> <97A27ED137938F458D4C412E5B1880E416C071AE@ESS-EX01.essvote.corp.local> Message-ID: Hi Casey, Ballentine, Casey writes: > The returned values for optional elements are ThisIsMyElement_optional > types. One thing I did discover is that complex elements that have > sub-elements do require the .present() and .get() calls, but simple elements > like Booleans can be accessed using the direct method. Does that make sense? I don't think it is "like Booleans" but rather "only Booleans". optional<> has a smart pointer-like interface which allows you to write: if (x.member ()) { cerr << *x.member () << endl; } To achieve this, optional<> provides conversion to bool, which is why boolean optional members appear to be directly accessible (though the returned value is of course wrong). Boris From crballentine at essvote.com Tue Nov 17 11:59:54 2015 From: crballentine at essvote.com (Ballentine, Casey) Date: Tue Nov 17 12:00:02 2015 Subject: [xsd-users] question on optional elements/attributes syntax In-Reply-To: References: <97A27ED137938F458D4C412E5B1880E416C0693B@ESS-EX01.essvote.corp.local> <97A27ED137938F458D4C412E5B1880E416C071AE@ESS-EX01.essvote.corp.local> Message-ID: <97A27ED137938F458D4C412E5B1880E416C07232@ESS-EX01.essvote.corp.local> Hi Bruno, That makes perfect sense. Thanks for helping out! Casey -----Original Message----- From: Boris Kolpackov [mailto:boris@codesynthesis.com] Sent: Tuesday, November 17, 2015 10:34 AM To: Ballentine, Casey Cc: xsd-users@codesynthesis.com Subject: Re: [xsd-users] question on optional elements/attributes syntax Hi Casey, Ballentine, Casey writes: > The returned values for optional elements are ThisIsMyElement_optional > types. One thing I did discover is that complex elements that have > sub-elements do require the .present() and .get() calls, but simple > elements like Booleans can be accessed using the direct method. Does that make sense? I don't think it is "like Booleans" but rather "only Booleans". optional<> has a smart pointer-like interface which allows you to write: if (x.member ()) { cerr << *x.member () << endl; } To achieve this, optional<> provides conversion to bool, which is why boolean optional members appear to be directly accessible (though the returned value is of course wrong). Boris From arthurlobo at msn.com Thu Nov 26 21:56:08 2015 From: arthurlobo at msn.com (Arthur Lobo) Date: Thu Nov 26 21:56:17 2015 Subject: [xsd-users] xsd build errors on BeagleBone Black with Kali Linux 2.0 Message-ID: Hi all: I am trying to build xsd-4.0.0+dep with xerces-c-3.1.1 on a BeagleBone Black running Kali Linux 2.0. I followed the instructions on http://www.codesynthesis.com/projects/xsd/extras/build-unix.xhtml for the All-In-One Package build. gcc version is 4.9.2 (Debian 4.9.2-10) xerces-c-3.1.1 build went fine. But I get the following errors at the tail end of the xsd-4.0.0+dep build: . . . c++ /root/Downloads/xsd-4.0.0+dep/libcutl/cutl/details/boost/regex/src/winstances.cxx ar /root/Downloads/xsd-4.0.0+dep/libcutl/cutl/cutl.l ar /root/Downloads/xsd-4.0.0+dep/libxsd-frontend/xsd-frontend/xsd-frontend.l ld /root/Downloads/xsd-4.0.0+dep/xsd/xsd/xsd ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICUTransService::upperCase(unsigned short*)': ICUTransService.cpp:(.text+0xce): undefined reference to `u_toupper_52' ICUTransService.cpp:(.text+0xd2): undefined reference to `u_toupper_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICUTransService::lowerCase(unsigned short*)': ICUTransService.cpp:(.text+0xda): undefined reference to `u_tolower_52' ICUTransService.cpp:(.text+0xde): undefined reference to `u_tolower_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICUTransService::compareIString(unsigned short const*, unsigned short const*)': ICUTransService.cpp:(.text+0x184): undefined reference to `u_foldCase_52' ICUTransService.cpp:(.text+0x18e): undefined reference to `u_foldCase_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICUTranscoder::~ICUTranscoder()': ICUTransService.cpp:(.text+0x1ba): undefined reference to `ucnv_close_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICUTranscoder::canTranscodeTo(unsigned int)': ICUTransService.cpp:(.text+0x20a): undefined reference to `UCNV_FROM_U_CALLBACK_STOP_52' ICUTransService.cpp:(.text+0x21c): undefined reference to `UCNV_FROM_U_CALLBACK_STOP_52' ICUTransService.cpp:(.text+0x226): undefined reference to `ucnv_setFromUCallBack_52' ICUTransService.cpp:(.text+0x24c): undefined reference to `ucnv_fromUnicode_52' ICUTransService.cpp:(.text+0x264): undefined reference to `ucnv_setFromUCallBack_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICULCPTranscoder::~ICULCPTranscoder()': ICUTransService.cpp:(.text+0x29c): undefined reference to `ucnv_close_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICULCPTranscoder::calcRequiredSize(unsigned short const*, xercesc_3_1::MemoryManager*)': ICUTransService.cpp:(.text+0x30e): undefined reference to `ucnv_fromUChars_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICULCPTranscoder::calcRequiredSize(char const*, xercesc_3_1::MemoryManager*)': ICUTransService.cpp:(.text+0x366): undefined reference to `ucnv_toUChars_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICULCPTranscoder::transcode(char const*, xercesc_3_1::MemoryManager*)': ICUTransService.cpp:(.text+0x3ce): undefined reference to `ucnv_toUChars_52' ICUTransService.cpp:(.text+0x400): undefined reference to `ucnv_toUChars_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICULCPTranscoder::transcode(char const*, unsigned short*, unsigned int, xercesc_3_1::MemoryManager*)': ICUTransService.cpp:(.text+0x4b8): undefined reference to `ucnv_toUChars_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICUTransService::compareNIString(unsigned short const*, unsigned short const*, unsigned int)': ICUTransService.cpp:(.text+0x554): undefined reference to `u_foldCase_52' ICUTransService.cpp:(.text+0x55e): undefined reference to `u_foldCase_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICUTranscoder::transcodeFrom(unsigned char const*, unsigned int, unsigned short*, unsigned int, unsigned int&, unsigned char*)': ICUTransService.cpp:(.text+0x5bc): undefined reference to `ucnv_toUnicode_52' ICUTransService.cpp:(.text+0x6b4): undefined reference to `ucnv_getMaxCharSize_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICUTranscoder::ICUTranscoder(unsigned short const*, UConverter*, unsigned int, xercesc_3_1::MemoryManager*)': ICUTransService.cpp:(.text+0x732): undefined reference to `ucnv_getMaxCharSize_52' ICUTransService.cpp:(.text+0x73a): undefined reference to `ucnv_getMinCharSize_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICUTransService::makeNewLCPTranscoder(xercesc_3_1::MemoryManager*)': ICUTransService.cpp:(.text+0x7a4): undefined reference to `ucnv_open_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICUTransService::makeNewXMLTranscoder(unsigned short const*, xercesc_3_1::XMLTransService::Codes&, unsigned int, xercesc_3_1::MemoryManager*)': ICUTransService.cpp:(.text+0x8c2): undefined reference to `ucnv_openU_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICUTranscoder::transcodeTo(unsigned short const*, unsigned int, unsigned char*, unsigned int, unsigned int&, xercesc_3_1::XMLTranscoder::UnRepOpts)': ICUTransService.cpp:(.text+0x9ac): undefined reference to `UCNV_FROM_U_CALLBACK_STOP_52' ICUTransService.cpp:(.text+0x9b2): undefined reference to `UCNV_FROM_U_CALLBACK_SUBSTITUTE_52' ICUTransService.cpp:(.text+0x9ca): undefined reference to `UCNV_FROM_U_CALLBACK_STOP_52' ICUTransService.cpp:(.text+0x9ce): undefined reference to `UCNV_FROM_U_CALLBACK_SUBSTITUTE_52' ICUTransService.cpp:(.text+0x9e8): undefined reference to `ucnv_setFromUCallBack_52' ICUTransService.cpp:(.text+0xa0e): undefined reference to `ucnv_fromUnicode_52' ICUTransService.cpp:(.text+0xa24): undefined reference to `ucnv_setFromUCallBack_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICULCPTranscoder::transcode(unsigned short const*, xercesc_3_1::MemoryManager*)': ICUTransService.cpp:(.text+0xb48): undefined reference to `ucnv_fromUChars_52' ICUTransService.cpp:(.text+0xbd0): undefined reference to `ucnv_fromUChars_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): In function `xercesc_3_1::ICULCPTranscoder::transcode(unsigned short const*, char*, unsigned int, xercesc_3_1::MemoryManager*)': ICUTransService.cpp:(.text+0xc56): undefined reference to `ucnv_fromUChars_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(XMLUniCharacter.o): In function `xercesc_3_1::XMLUniCharacter::getType(unsigned short)': XMLUniCharacter.cpp:(.text+0x2): undefined reference to `u_charType_52' ../xerces-c-3.1.1/src/.libs/libxerces-c.a(RangeToken.o): In function `xercesc_3_1::RangeToken::getCaseInsensitiveToken(xercesc_3_1::TokenFactory*)': RangeToken.cpp:(.text+0xbea): undefined reference to `uset_openPatternOptions_52' RangeToken.cpp:(.text+0xbfe): undefined reference to `uset_serialize_52' RangeToken.cpp:(.text+0xc2a): undefined reference to `uset_serialize_52' RangeToken.cpp:(.text+0xc38): undefined reference to `uset_getSerializedSet_52' RangeToken.cpp:(.text+0xc3e): undefined reference to `uset_getSerializedRangeCount_52' RangeToken.cpp:(.text+0xc52): undefined reference to `uset_getSerializedRange_52' RangeToken.cpp:(.text+0xc6c): undefined reference to `uset_setSerializedToOne_52' RangeToken.cpp:(.text+0xc72): undefined reference to `uset_close_52' collect2: error: ld returned 1 exit status /root/Downloads/xsd-4.0.0+dep/build-0.3/cxx/generic/o-e.make:20: recipe for target '/root/Downloads/xsd-4.0.0+dep/xsd/xsd/xsd' failed make: *** [/root/Downloads/xsd-4.0.0+dep/xsd/xsd/xsd] Error 1 Can anyone help? Best regards, Art From boris at codesynthesis.com Fri Nov 27 08:33:11 2015 From: boris at codesynthesis.com (Boris Kolpackov) Date: Fri Nov 27 08:33:16 2015 Subject: [xsd-users] xsd build errors on BeagleBone Black with Kali Linux 2.0 In-Reply-To: References: Message-ID: Hi Arthur, Arthur Lobo writes: > ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): You are linking to a static Xerces-C++ library which was built with the ICU dependency. This means you also need to link to the ICU libs. Try: make ... LIBS="-licuuc -licudata" Boris From arthurlobo at msn.com Fri Nov 27 10:50:21 2015 From: arthurlobo at msn.com (Arthur Lobo) Date: Fri Nov 27 10:50:28 2015 Subject: [xsd-users] xsd build errors on BeagleBone Black with Kali Linux 2.0 In-Reply-To: References: , , Message-ID: Hi Boris: > make ... LIBS="-licuuc -licudata" Thanks, specifying the above additional libraries to the linker allowed the build to complete. I have a follow on question on xsd versions. I am building RedHawk SDR framework which requires xsd-3.3.0. The RedHawk configure script will not take xsd-4.0.0. When I try to build xsd-3.3.0+dep with xerces-c-3.1.2 I get the following initial errors (I have not attached the whole list): make CPPFLAGS=-I../xerces-c-3.1.2/src LDFLAGS=-L../xerces-c-3.1.2/src/.libs LIBS="-licuuc -licudata" c++ /root/Downloads/xsd-3.3.0+dep/xsd/xsd/xsd.cxx In file included from /root/Downloads/xsd-3.3.0+dep/xsd/xsd/cxx/tree/generator.hxx:14:0, from /root/Downloads/xsd-3.3.0+dep/xsd/xsd/xsd.cxx:29: /root/Downloads/xsd-3.3.0+dep/xsd/xsd/xsd.hxx: In destructor ?AutoUnlink::~AutoUnlink()?: /root/Downloads/xsd-3.3.0+dep/xsd/xsd/xsd.hxx:41:26: error: ?XSDFrontend::SemanticGraph::Path? has no member named ?native_file_string? std::remove (file_.native_file_string ().c_str ()); ^ /root/Downloads/xsd-3.3.0+dep/xsd/xsd/xsd.cxx: In function ?Cult::Types::Fundamental::Int main(Cult::Types::Fundamental::Int, Cult::Types::Fundamental::Char**)?: /root/Downloads/xsd-3.3.0+dep/xsd/xsd/xsd.cxx:639:71: error: invalid conversion from ?bool (*)(const string&) {aka bool (*)(const std::basic_string&)}? to ?boost::enable_if_c::type* {aka void*}? [-fpermissive] tu = SemanticGraph::Path (args[i], boost::filesystem::native); ^ In file included from /root/Downloads/xsd-3.3.0+dep/libxsd-frontend/xsd-frontend/semantic-graph/elements.hxx:11:0, from /root/Downloads/xsd-3.3.0+dep/libxsd-frontend/xsd-frontend/semantic-graph/schema.hxx:11, from /root/Downloads/xsd-3.3.0+dep/libxsd-frontend/xsd-frontend/parser.hxx:12, from /root/Downloads/xsd-3.3.0+dep/xsd/xsd/xsd.cxx:19: /usr/include/boost/filesystem/path.hpp:135:5: note: initializing argument 2 of ?boost::filesystem::path::path(const Source&, typename boost::enable_if::type> >::type*) [with Source = const char*; typename boost::enable_if::type> >::type = void]? path(Source const& source, ^ /root/Downloads/xsd-3.3.0+dep/xsd/xsd/xsd.cxx:678:24: error: ?XSDFrontend::SemanticGraph::Path? has no member named ?native_file_string? if (tu.native_file_string () != name) ^ /root/Downloads/xsd-3.3.0+dep/xsd/xsd/xsd.cxx:693:24: error: ?XSDFrontend::SemanticGraph::Path? has no member named ?native_file_string? if (tu.native_file_string () != name) ^ /root/Downloads/xsd-3.3.0+dep/xsd/xsd/xsd.cxx:831:68: error: invalid conversion from ?bool (*)(const string&) {aka bool (*)(const std::basic_string&)}? to ?boost::enable_if_c::type* {aka void*}? [-fpermissive] SemanticGraph::Path (args[i], boost::filesystem::native)); ^ In file included from /root/Downloads/xsd-3.3.0+dep/libxsd-frontend/xsd-frontend/semantic-graph/elements.hxx:11:0, from /root/Downloads/xsd-3.3.0+dep/libxsd-frontend/xsd-frontend/semantic-graph/schema.hxx:11, from /root/Downloads/xsd-3.3.0+dep/libxsd-frontend/xsd-frontend/parser.hxx:12, from /root/Downloads/xsd-3.3.0+dep/xsd/xsd/xsd.cxx:19: /usr/include/boost/filesystem/path.hpp:135:5: note: initializing argument 2 of ?boost::filesystem::path::path(const Source&, typename boost::enable_if::type> >::type*) [with Source = const char*; typename boost::enable_if::type> >::type = void]? path(Source const& source,... Can you please help? Art > Date: Fri, 27 Nov 2015 15:33:11 +0200 > From: boris@codesynthesis.com > To: arthurlobo@msn.com > CC: xsd-users@codesynthesis.com > Subject: Re: [xsd-users] xsd build errors on BeagleBone Black with Kali Linux 2.0 > > Hi Arthur, > > Arthur Lobo writes: > > > ../xerces-c-3.1.1/src/.libs/libxerces-c.a(ICUTransService.o): > > You are linking to a static Xerces-C++ library which was built with > the ICU dependency. This means you also need to link to the ICU libs. > Try: > > make ... LIBS="-licuuc -licudata" > > Boris