XML4C Documentation

XML4C Documentation

XML4C Documentation Copyright 2001 The Apache Software Foundation. All Rights Reserved. XML4C Documentation Table of Contents 1. XML for C++ Parser 6 XML4C Version 5.1.0 6 Applications of the XML4C Parser 6 Features 6 Platforms with Binaries 7 Other ports... 7 License Information 7 2. Releases 8 Releases Archive 8 Release Information of XML4C 5.1.0: February 12, 2003 8 3. Releases Archive 17 Release Information of earlier releases 17 XML4C Version 5.0.0: August 29, 2002 17 XML4C Version 4.0.1: April 16, 2002 29 XML4C Version 4.0.0: December 21, 2001 31 XML4C Version 3.5.2: November 8, 2001 41 XML4C Version 3.5.1: August 10, 2001 41 XML4C Version 3.5.0: June 27, 2001 42 XML4C Version 3.3.1: October 26, 2001 49 XML4C Version 3.3.0: October 4, 2000 49 XML4C Version 3.1.0: March 1, 2000 56 XML4C Version 3.0.1: December 15, 1999 57 XML4C Version 3.0.0: December 7, 1999 57 XML4C Version 2.3.4 March 6, 2000 58 XML4C Version 2.3.3 January 10, 2000 58 XML4C Version 2.3.2 October 25, 1999 58 XML4C Version 2.3.1 August 24, 1999 58 XML4C Version 2.3.0 July 20, 1999 58 XML4C Version 2.2.0 June 24, 1999 58 XML4C Version 2.1.0 May 21, 1999 58 XML4C Version 2.0.0 April 27, 1999 59 4. Installation 60 Windows NT/2000 60 UNIX 60 Cygwin 62 5. Build Instructions 63 Building on Windows and UNIX 63 Building on Other Platforms 63 Other Build Instructions 63 6. Building on Windows and UNIX 64 Building XML4C on Windows using Microsoft Visual C++ 64 Building XML4C 64 bit binary on Windows XP using Intel C++ Compiler 65 Building XML4C on Windows using Borland C++Builder 65 XML4C Documentation Building XML4C on Windows using Cygwin 65 Building XML4C on UNIX platforms 66 Building XML4C as a single-threaded library on Unix platforms 71 7. Building on Other Platforms 73 Building XML4C on iSeries (AS/400) 73 Building XML4C on Macintosh 78 8. Other Build Instructions 81 Building XML4C with ICU 81 Building XML4C using RPM on Linux 83 Building XML4C COM Wrapper on Windows 83 Building User Documentation 84 I wish to port XML4C to my favourite platform. Do you have any suggestions? 84 What should I define XMLCh to be? 84 Where can I look for more help? 85 9. FAQs 86 Distributing XML4C 86 Building / Running FAQs 88 Programming/Parsing FAQs 92 Other XML4C Questions 101 10. XML4C Samples 103 Introduction 103 Building the Samples 103 Running the Samples 103 11. Sample: SAXCount 105 SAXCount 105 12. Sample: SAXPrint 107 SAXPrint 107 13. Sample: DOMCount 110 DOMCount 110 14. Sample: DOMPrint 112 DOMPrint 112 15. Sample: MemParse 115 MemParse 115 16. Sample: Redirect 117 Redirect 117 17. Sample: PParse 118 PParse 118 18. Sample: StdInParse 120 StdInParse 120 19. Sample: EnumVal 122 EnumVal 122 20. Sample: CreateDOMDocument 124 XML4C Documentation CreateDOMDocument 124 21. Sample: SAX2Count 125 SAX2Count 125 22. Sample: SAX2Print 127 SAX2Print 127 23. Sample: SEnumVal 130 SEnumVal 130 24. API Documentation 133 API Docs for XML4C 133 25. Programming Guide 134 DOM Programming Guide 134 SAX Programming Guide 134 SAX2 Programming Guide 134 Other Features 135 26. SAX1 Programming Guide 136 Using the SAX API 136 SAXParser 137 27. SAX2 Programming Guide 144 Using the SAX2 API 144 SAX2XMLReader 145 28. DOM Programming Guide 152 Design Objectives 152 DOM Level 3 Support in XML4C 152 Using DOM API 152 XercesDOMParser 156 DOMBuilder 163 DOMWriter 173 Deprecated - Java-like DOM 178 29. DOM Level 3 Support 179 Disclaimer 179 Introduction 179 Implementation of DOM Level 3 Core 179 Implementation of DOM Level 3 Load and Save 179 Implementation of DOM Level 3 Abstract Schemas 180 30. Deprecated - Java-like DOM 181 Deprecated - Java-like DOM 181 Using this set of deprecated API 181 DOMParser 184 31. Schema 192 Introduction 192 Limitations 192 Interpretation of Areas that are Unclear or Implementation-Dependent 192 Usage 193 XML4C Documentation Associating Schema Grammar with instance document 193 32. Programming Guide 196 Version Macro 196 Schema Support 196 Progressive Parsing 196 Preparsing Grammar and Grammar Caching 197 Loadable Message Text 199 Pluggable Transcoders 199 Porting Guidelines 200 Using C++ Namespace 201 Specify locale for message loader 203 Use Specific Scanner 204 33. Migration 206 Migration Archive 206 Migrating from XML4C 5.0.0 to XML4C 5.1.0 206 34. Migration Archive 209 Migrating to earlier Releases 209 Migrating from XML4C 4.0.1 to 5.0.0 209 Migrating from XML4C 3.5.2 to 4.0.1 215 Migrating from XML4C 3.3.1 to 3.5.2 217 Migrating from XML4C 2.x to XML4C 3.3.1 217 35. Feedback Procedures 221 Questions or Comments 221 Acknowledgements 221 36. Bug Reporting 224 How to report bugs 224 Search first 224 Write good bug report 224 37. PDF Documentation 226 PDF Documentation 226 Appendix A: Links Reference 227 1 XML for C++ Parser XML4C Version 5.1.0 XML4C is a validating XML parser written in a portable subset of C++. XML4C makes it easy to give your application the ability to read and write XML [1] data. A shared library is provided for parsing, generating, manipulating, and validating XML documents. XML4C is faithful to the XML 1.0 [2] recommendation and many associated standards (see Features below). The parser provides high performance, modularity, and scalability. Source code, samples and API documentation are provided with the parser. For portability, care has been taken to make minimal use of templates, no RTTI, and minimal use of #ifdefs. Applications of the XML4C Parser XML4C has rich generating and validating capabilities. The parser is used for: · Building XML-savvy Web servers · Building next generation of vertical applications that use XML as their data format · On-the-fly validation for creating XML editors · Ensuring the integrity of e-business data expressed in XML · Building truly internationalized XML applications Features · Conforms to · XML 1.0 (Second Edition) [3] , W3C Recommendation of October 6, 2000 · DOM Level 1 Specification [4] , W3C Recommendation of October 1, 1998 · DOM Level 2 Core Specification [5] , W3C Recommendation of November 13, 2000 · DOM Level 2 Traversal and Range Specification [6] , W3C Recommendation of November 13, 2000 · SAX 1.0 and SAX 2.0 [7] · Namespaces in XML [8] , W3C Recommendation of January 14, 1999 · XML Schema Part 1: Structure [9] , W3C Recommendation 2 May 2001 · XML Schema Part 2: Datatypes [10] , W3C Recommendation 2 May 2001 · Experimental Implementation of XML 1.1 [11] , W3C Candidate Recommendation of October 15, 2002 (Note: section 2.13 Normalization Checking has not been implemented) · Contains a partial implementation of the DOM Level 3.0 Core Specification [12] , W3C Working Draft of 09 April 2002 and DOM Level 3.0 Abstract Schemas and Load and Save Specification [13] , W3C Working Draft of 09 April 2002. This implementation is experimental. See DOM Level 3 Support for detail. - 6- Chapter 1 - XML for C++ Parser XML4C Documentation · Source code, samples, and documentation is provided · Programmatic generation and validation of XML · Pluggable catalogs, validators and encodings · High performance · Customizable error handling Platforms with Binaries Operating System Compiler 32-bit binary Windows NT 4.0 SP5 MSVC 6.0 SP3 Redhat Linux 7.2 g++ 3.1 AIX 5.1 xlC_r 5.0.2 Solaris 2.7 Forte C++ Version 6 Update 2 HP-UX 11.0 aCC A.03.13 with pthreads 64-bit binary Windows XP, IA64 Intel C++ Compiler v6, ecl Redhat Linux 7.2, IA64 Intel C++ Compiler v6, ecc AIX 5.1 xlC_r 5.0.2 Solaris 2.7 Forte C++ Version 6 Update 2 HP-UX 11.0 aCC A.03.13 with pthreads Other ports... · OS/390 · AS/400 · FreeBSD · SGI IRIX · Macintosh · OS/2 · PTX · UnixWare · and more! License Information The XML4C Version 5.1.0 is available in both source distribution and binary distribution. Both XML4C are made available under the Apache Software License [14] . - 7- 2 Releases Releases Archive For release information about XML4C 5.0.0 or earlier, please refer to Releases Archive. Release Information of XML4C 5.1.0: February 12, 2003 Date Contributor Description 2003-02-06 Khaled Noaman Schema Errata: 1. E1-2 2. E1-10 3. E1-15 4. E1-16 5. E1-20 6. E1-21 7. E1-22 8. E1-23 9. E1-27 2003-02-06 PeiYong Zhang Schema Errata: 1. E2-9 Base64. 2. E2-12 gMonth. 3. E2-16 maxExclusive. 4. E2-23 seconds part shall have at least one digit after the dot if it appears. 5. E2-24 Duration 'T': allow SchemaDateTimeException be propogated to client. 6. E2-25 language. 2003-02-06 Khaled Noaman Performance: Scanner Reorganization. Create XMLScannerResolver, WFXMLScanner, IGXMLScanner, DGXMLScanner, and SGXMLScanner. - 8- Chapter 2 - Releases XML4C Documentation 2003-02-06 Khaled Noaman Performance: 1. [Bug 13695] Performance problem with large text nodes and XMLFormatter.cpp. 2. Make getNextChar/peekNextChar inline. 3. Reduce instruction counts in XMLReader. 4. Do not call XMLString::stringLen in XMLString::indexOf. 5. Use existing QName in XMLElementDecl instead of creating a new one everytime. 6. Allow creating/setting of XMLAttr using a rawname (i.e. 'prefix:localpart'). 7. Enable/disable calculation of src offset. 8. No need to use temporary buffer to hold namespace value in SAX2XMLReaderImpl. 9. Eliminate unnecessary condition in compareNString. 10. Use global buffer to eliminate repetitive memory creation/deletion - 9- Chapter 2 - Releases XML4C Documentation 2003-02-06 Tinny Ng Performance: 1.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    228 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us