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
XPath::Node(3) User Contributed Perl Documentation XPath::Node(3)NAME
XML::XPath::Node - internal representation of a node
API
The Node API aims to emulate DOM to some extent, however the API isn't quite compatible with DOM. This is to ease transition from XML::DOM
programming to XML::XPath. Compatibility with DOM may arise once XML::DOM gets namespace support.
new
Creates a new node. See the sub-classes for parameters to pass to new().
getNodeType
Returns one of ELEMENT_NODE, TEXT_NODE, COMMENT_NODE, ATTRIBUTE_NODE, PROCESSING_INSTRUCTION_NODE or NAMESPACE_NODE. UNKNOWN_NODE is
returned if the sub-class doesn't implement getNodeType - but that means something is broken! The constants are exported by default from
XML::XPath::Node. The constants have the same numeric value as the XML::DOM versions.
getParentNode
Returns the parent of this node, or undef if this is the root node. Note that the root node is the root node in terms of XPath - not the
root element node.
to_sax ( $handler | %handlers )
Generates sax calls to the handler or handlers. See the PerlSAX docs for details (not yet implemented correctly).
MORE INFO
See the sub-classes for the meaning of the rest of the API:
o XML::XPath::Node::Element
o XML::XPath::Node::Attribute
o XML::XPath::Node::Namespace
o XML::XPath::Node::Text
o XML::XPath::Node::Comment
o XML::XPath::Node::PI
perl v5.18.2 2003-01-26 XPath::Node(3)
Can you please tell for some freeware unix based command line XML parser/tool which will check whether a particular XML corresponds to its XSD or not.
please help immediately......... (15 Replies)
I want to implement one API layer which contains some business logic related API methods. The platform is linux and the programming language is C++.
This API layer will use some utilitiy libraries, e.g. XML parser - xerces-c. However, I want to make these underlying libraries transparent to... (1 Reply)
Hi,
Can anyone please tell me where I can get the small projects with source code based on client-server programming using sockets in unix :confused::confused::confused:
Thanks in advance... (1 Reply)
HI,
I have XML file which is having values as Spanish character (UTF-8 encoding). I am using XML::parser module but my code is not able to read those characters. I did goggling but not able to find suitable solution. Anybody please help me out.
XML file having characters like: ñ
I am... (1 Reply)
Hi all,
Long time UNIX admin, first time LINUX user.
So I'm finally at the last straw with Windows. I hate it. I've always hated it but the wife was scared of change so I kept it going. But Window's insistence on "protecting" me by preventing me access to certain areas created hours of work... (14 Replies)
Learned People,
Hello !
Till today, for the most part, all of the tricky questions/situations that I encountered were already posted by other folks and all I had to do was peruse through these one at a time and I could find some sort of an answer and all I had to do was add some minor tweaks... (5 Replies)
I'm trying to compile a 3rd party program used for solid-state chemistry that calculates pore characteristics of an input material. The program was written between 2000 and 2006, so I believe the problem is that the headers used are outdated, but I'm not terribly computer savvy (and a complete... (1 Reply)
Hi All,
I have a problem to resolve. For following XML file, I need to parse the values based on Tag Name. I would prefer to use this by awk. I have used sed command to replace the tags (s/<SeqNo>//).
In this case there can be new tags introduced. So need to parse it based on Tag Name. Any... (9 Replies)
Hi Friends,
We have a situation where we need to pass API based URL which will return XML response ,and I need to convert those XML response to a delimited flat file.
url.txt -- will have
http://xyz.com/beta/xxx.xml?isDRR=True&city=London&province=England... (1 Reply)
I'm writing my own simple XML parser as an experiment. It's a lot more complicated than it's supposed to be.
Things supposedly forbidden in XML comments happen all the time in the wild. You're never, ever supposed to find -- inside <!-- xml comments --> but in practice, you don't just find... (2 Replies)
The below perl code imports the data in the attached document. However, I can not seem to update the perl code to include a parser like in the desired tab of that document. Thank you :).
Most of the data for the parse is included in the document except for the gene and RNA which can is... (0 Replies)