From: Ebersold Date: Sun, 26 Dec 2021 13:04:47 +0000 (+0100) Subject: Patch smartasn1 version X-Git-Url: https://git.ebersold.fr/?a=commitdiff_plain;h=76fb6dee91b23a78086377b533b69b259a64fb97;p=xml-transform.git Patch smartasn1 version --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ad5587..12cc893 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,8 +1,9 @@ PROJECT(xml-t) -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -SET(WITH_XSD_TOOL FALSE CACHE TYPE BOOL) -SET(WITH_XSD_TOOL_TESTS OFF CACHE TYPE BOOL) +SET(WITH_XSD_TOOL ON CACHE BOOL "Set With XSD Tools") + +SET(WITH_XSD_TOOL_TESTS OFF CACHE BOOL "Activate Tests for xsd tools ") IF (WITH_XSD_TOOL) diff --git a/libxsd/include/xmlparser.h b/libxsd/include/xmlparser.h index 8f39593..4183d9e 100644 --- a/libxsd/include/xmlparser.h +++ b/libxsd/include/xmlparser.h @@ -20,53 +20,59 @@ namespace xml { public: parser() : m_parser(NULL) {} // - void onStartElement(const CML_Char *name,const XML_Char **attr) + void onStartElement(const XML_Char *name,const XML_Char **attr) { - T *_cls = dynamic_cast< T *>(this); + T *_cls = static_cast< T *>(this); if (_cls) _cls->onStartElement(name,attr); } // void onEndElement(const XML_Char *name) { - T *_cls = dynamic_cast< T *>(this); + T *_cls = static_cast< T *>(this); if (_cls) - _cls->onEndElement(name,attr); + _cls->onEndElement(name); } // void onCharacters(const XML_Char *name,size_t sz) { - T *_cls = dynamic_cast< T *>(this); + T *_cls = static_cast< T *>(this); if (_cls) _cls->onCharacters(name,sz); } void parse(std::istream &is) { - void *buf = NULL; - m_parser = XML_ParserCreateNS(0,XML_Char(' ')); - - parser_init(); - - do + XML_Status status; + void *buf = NULL; + m_parser = XML_ParserCreateNS(0,XML_Char(' ')); + + parser_init(); + + do + { + buf = XML_GetBuffer(m_parser,XML_BUFFER_SIZE); + if (buf == NULL) { - buf = XML_GetBuffer(m_parser,XML_BUFFER_SIZE); - - is.read(buf,XML_BUFFER_SIZE); - - if (is.bad() || (is.fail() && !is.eof())) - { - break; /* End of parsing */ - } - if (XML_Parse ( m_parser,buf,is.gcount(),is.eof()) == XML_STATUS_ERROR) - { - break; - } - } - while (! is.eof()); + std::cerr<<"parse: Failed get Buffer "< + + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-set + + + + + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-set + + + + + + + + + + + + + + + + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-set + + + + + + + + + + + + + + + + + + + + + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-set xsd:element + + */ + + + &INDENT2;void &INDENT2; + + + + + + &INDENT2;void &INDENT2; + + + + + + &INDENT2;void + + &INDENT2;void + + + + + + + + + + + + + + + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-set xsd:element + + */ + + + + + + + + + + + + + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-set xsd:element + + */ + + + &INDENT2;void &INDENT2; + + + + + + &INDENT2;void &INDENT2; + + + + + + &INDENT2;void + + &INDENT2;void + + + + + + + + + + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-set xsd:element + + */ + + + + + + + &INDENT2;void + + + + + &INDENT2;void &INDENT2; + + + + + + &INDENT2;void &INDENT2; + + + + + + &INDENT2;void + + &INDENT2;void + + + + + + + + + + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-get + + + + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-get + + + + + + + + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-get + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-get + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-get + + + + + + + + + + + + + + + + + + &INDENT2;/* gen-tree-hdr-type-member-get + + + + + + + &INDENT2; + + + + + &INDENT2;//void &INDENT2; + + + &INDENT2; + + + + + + &INDENT2; + + + &INDENT2; &INDENT2;std::vector< - diff --git a/xsd2cpp-tree-header.xsl b/xsd2cpp-tree-header.xsl index 0d0bacc..1bacba1 100644 --- a/xsd2cpp-tree-header.xsl +++ b/xsd2cpp-tree-header.xsl @@ -2,7 +2,7 @@ - + "> @@ -34,8 +34,6 @@ - - @@ -311,7 +309,7 @@ - xsd2cpp-tree-header: Generate Class: + wsd2cpp-tree-header: Generate Class: ERROR: must not happen @@ -691,24 +689,9 @@ No yet coded - - - - &INDENT2;/* parse-tree - - - - - - WARNING xsd:list no itemType No yet coded ../@name= - &INDENT2;/* parse-tree - - process list no @itemType */ - - - + &INDENT2;/* parse-tree @@ -716,27 +699,21 @@ - WARNING xsd:list @itemType= Not yet coded ../@name= - - - - &INDENT2;/* parse-tree - - should process list */ + WARNING xsd:list No yet coded + + + + + + &INDENT2;/* parse-tree LIST should process list */ &INDENT2; - &INDENT2;typedef std::vector< - - &INDENT2;typedef std::vector< - - &INDENT2;typedef std::vector< - - &INDENT2;iterator begin() { return m_tokens.begin(); } - &INDENT2;const_iterator begin() const { return m_tokens.begin(); } - &INDENT2;iterator end() { return m_tokens.end(); } - &INDENT2;const_iterator end() const { return m_tokens.end(); } - &INDENT2;size_t size() const { return m_tokens.size(); } + + + + + @@ -1298,7 +1275,7 @@ /* End internal declaration */ - ; &INDENT;public: + ; public: &INDENT2;/* parse-tree @@ -1317,7 +1294,7 @@ &INDENT2; - + @@ -1328,7 +1305,7 @@ select='$maxOccurs'/> - + @@ -1386,7 +1363,7 @@ &INDENT2; - + @@ -1397,7 +1374,7 @@ select='$maxOccurs'/> - + @@ -1434,19 +1411,18 @@ - - - - - - - - - - - + + + + + + + + + + @@ -1478,9 +1454,9 @@ &INDENT2;//xsd2cpp-tree-header get_function maxOccurs=unbounded - &INDENT2; + &INDENT2; + + &INDENT2;//void &INDENT2; @@ -1491,7 +1467,6 @@ - &INDENT2;//xsd2cpp-tree-header get_function maxOccurs=1 &INDENT2; - - - - - &INDENT;// tree-src-serialize - to be coded - - &INDENT;for( - - ::const_iterator it = obj.begin() ; it != obj.end() ; ++it) - &INDENT;if (it == obj.begin() ) { os<<(*it); } else - os<<" "<<(*it); - - - - - &INDENT;// tree-src-serialize - to be coded - + + &INDENT;os<<obj.m_content; diff --git a/xsd2cpp-tree.xsl b/xsd2cpp-tree.xsl index b7dc5a2..d61aaad 100644 --- a/xsd2cpp-tree.xsl +++ b/xsd2cpp-tree.xsl @@ -95,23 +95,7 @@ #include <> - - &CR;/* DEBUG MACRO */ - #ifdef DEBUG&CR; - #define LOG_DEBUG(f) do {} while (0)&CR; - #define LOG_DEBUG_FMT(f,args...) do {} while (0)&CR; - #define LOG_DEBUG_CONSTRUCT(f) do {} while (0)&CR; - #define LOG_DEBUG_CONSTRUCT_FMT(f,args...) do {} while (0)&CR; - #define LOG_INFO_FMT(f,args...) do {} while (0)&CR; - #define LOG_ERROR_FMT(f,args...) do {} while (0)&CR; - #else&CR; - #define LOG_DEBUG(f) do {} while (0)&CR; - #define LOG_DEBUG_CONSTRUCT(f) do {} while (0)&CR; - #define LOG_DEBUG_FMT(f,args...) do {} while (0)&CR; - #define LOG_INFO_FMT(f,args...) do {} while (0)&CR; - #define LOG_ERROR_FMT(f,args...) do {} while (0)&CR; - #endif&CR; - namespace + namespace @@ -811,9 +795,9 @@ - LOG_DEBUG_CONSTRUCT_FMT(" - - ",(void *)this); + std::cout<<" + + "<<this<<"\n";