Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #987
Difficulty: Medium
The FreeBSD TCP/IP stack is based on the 4.2BSD implementation of TCP/IP.
True or False?
Linux & Unix Commands - Search Man Pages

xmlparsing(3) [debian man page]

xmlparsing(3)							       Coin							     xmlparsing(3)

NAME
xmlparsing - XML Parsing with Coin For Coin 3.0, we added an XML parser to Coin. This document describes how it can be used for generic purposes. Why another XML parser, you might ask? First of all, the XML parser is actually a third-party parser, expat. Coin needed one, and many Coin-dependent projects needed one as well. We therefore needed to expose an API for it. However, integrating a 3rd-party parser into Coin, we can not expose its API directly, or other projects also using Expat would get conflicts. We therefore needed to expose the XML API with a unique API, hence the API you see here. It is based on a XML DOM API we use(d) in a couple of other projects, but it has been tweaked to fit into Coin and to be wrapped over Expat (the original implementation just used flex). The XML parser is both a streaming parser and a DOM parser. Being a streaming parser means that documents can be read in without having to be fully contained in memory. When used as a DOM parser, the whole document is fully parsed in first, and then inspected by client code by traversing the DOM. The two modes can actually be mixed arbitrarily if ending up with a partial DOM sounds useful. The XML parser has both a C API and a C++ API. The C++ API is just a wrapper around the C API, and only serves as convenience if you prefer to read/write C++ code (which is tighter) over more verbose C code. The C API naming convention may look a bit strange, unless you have written libraries to be wrapped for scheme/lisp-like languages before. Then you might be familiar with the convention of suffixing your functions based on their behaviour/usage meaning. Mutating functions are suffixed with '!', or '_x' for (eXclamation point), and predicates are suffixed with '?', or '_p' in C. The simplest way to use the XML parser is to just call cc_xml_read_file(filename) and then traverse the DOM model through using cc_xml_doc_get_root(), cc_xml_elt_get_child(), and cc_xml_elt_get_attr(). See also: XML related functions and objects, cc_xml_doc, cc_xml_elt, cc_xml_attr Version 3.1.3 Wed May 23 2012 xmlparsing(3)

Check Out this Related Man Page

PARSER(1)						User Contributed Perl Documentation						 PARSER(1)

NAME
XML::DOM::Parser - An XML::Parser that builds XML::DOM document structures SYNOPSIS
use XML::DOM; my $parser = new XML::DOM::Parser; my $doc = $parser->parsefile ("file.xml"); DESCRIPTION
XML::DOM::Parser extends XML::Parser The XML::Parser module was written by Clark Cooper and is built on top of XML::Parser::Expat, which is a lower level interface to James Clark's expat library. XML::DOM::Parser parses XML strings or files and builds a data structure that conforms to the API of the Document Object Model as described at <http://www.w3.org/TR/REC-DOM-Level-1>. See the XML::Parser manpage for other additional properties of the XML::DOM::Parser class. Note that the 'Style' property should not be used (it is set internally.) The XML::Parser NoExpand option is more or less supported, in that it will generate EntityReference objects whenever an entity reference is encountered in character data. I'm not sure how useful this is. Any comments are welcome. As described in the synopsis, when you create an XML::DOM::Parser object, the parse and parsefile methods create an XML::DOM::Document object from the specified input. This Document object can then be examined, modified and written back out to a file or converted to a string. When using XML::DOM with XML::Parser version 2.19 and up, setting the XML::DOM::Parser option KeepCDATA to 1 will store CDATASections in CDATASection nodes, instead of converting them to Text nodes. Subsequent CDATASection nodes will be merged into one. Let me know if this is a problem. Using LWP to parse URLs The parsefile() method now also supports URLs, e.g. http://www.erols.com/enno/xsa.xml. It uses LWP to download the file and then calls parse() on the resulting string. By default it will use a LWP::UserAgent that is created as follows: use LWP::UserAgent; $LWP_USER_AGENT = LWP::UserAgent->new; $LWP_USER_AGENT->env_proxy; Note that env_proxy reads proxy settings from environment variables, which is what I need to do to get thru our firewall. If you want to use a different LWP::UserAgent, you can either set it globally with: XML::DOM::Parser::set_LWP_UserAgent ($my_agent); or, you can specify it for a specific XML::DOM::Parser by passing it to the constructor: my $parser = new XML::DOM::Parser (LWP_UserAgent => $my_agent); Currently, LWP is used when the filename (passed to parsefile) starts with one of the following URL schemes: http, https, ftp, wais, gopher, or file (followed by a colon.) If I missed one, please let me know. The LWP modules are part of libwww-perl which is available at CPAN. perl v5.8.0 2000-01-31 PARSER(1)

Featured Tech Videos