Skip to content

XML parsing library for Pisi GNU/Linux. (Python3-ed)

License

Notifications You must be signed in to change notification settings

Ersoy-Kardesler-Pisi-Repositories/piksemel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Piksemel 2.0

Python XML API based on the iksemel library. Copyright (C) 2005-2006 TUBITAK/UEKAE, 2019 Safa Arıman, 2020 Erdem Ersoy, 2022 Ersoy Kardesler

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Please read the COPYING file.

Install

You don't need anything other than an installed Python framework. iksemel-lite source is included and compiled built-in to the module.

To compile and install:

./setup.py install

then you can import the piksemel module in your python programs.

Documentation

Module Constants

  • TAG
  • ATTRIBUTE
  • DATA

These enumeration constants are used to report the type of the Node objects.

Module Exceptions

ParseError

Raised when given string or file contains invalid XML.

NotTag

Raised when a function accepting a tag node got another type of object.

NotData

Raised when a function accepting a data node got another type of object.

Module Functions

parse(filename)

Parses the given XML file, and returns the top level tag's node object.

parseString(string)

Parses the given XML string and returns the top level tag's node object.

newDocument(tagname)

Creates a new top level tag node object with given tag name.

Module Objects

Node

This object represents a node of the XML document tree. If you iterate over a node object, you'll get the list of its child nodes.

Node Object Methods

type()

Returns the type of the node.

data()

Returns character data for data nodes.

name()

Returns the name of the tag for tag nodes.

attributes()

Returns a list of node's attribute names. Returns an empty list if there aren't any.

getAttribute(attributename)

Returns the value of the given attribute for tag nodes. If such an attribute doesn't exists, returns None.

setAttribute(attributename, value)

Sets the given attribute's value for tag nodes. You can give the value None for deleting an attribute.

getTag(tagname)

Returns the first tag node child with the given name. If such a child doesn't exists, returns None.

getTagData(tagname)

Returns the contained character data from first tag node child with the given name.

tags(tagname=None)

Iterates over child tag nodes. If optional tagname is given, only iterates over tags with the given name.

firstChild()

Returns the first child node.

parent()

Returns the parent node.

root()

Returns the top level node.

next()

Returns the next node. If this is the last sibling, returns None.

nextTag(tagname=None)

Returns the next tag node. If optional tagname is given, returns the next sibling tag node with the given name. Returns None if this is the last such sibling.

previous()

Returns the previous node. If this is the first sibling, returns None.

previousTag(tagname=None)

Returns the previous tag node. If optional tagname is given, returns the previous sibling tag node with the given name. Returns None if this is the first such sibling.

insertTag(tagname)

Inserts a new child tag node with given name to the child nodes. Returns the newly created tag node object.

insertData(data)

Inserts given character data to the child nodes. Returns the newly created data node object.

setData(data)

Deletes given tag's current child nodes, then inserts the data as its child.

insertNode(node)

Inserts given node tree to the child nodes. Returns the newly created node object.

appendTag(tagname)

Create a tag node with given name and append it as the next sibling. Returns the newly created tag node object.

appendData(data)

Appends given character data as the next sibling. Returns the newly created data node object.

prependTag(tagname)

Create a tag node with given name and append it as the previous sibling. Returns the newly created tag node object.

prependData(data)

Prepends given character data as the previous sibling. Returns the newly created data node object.

hide()

Deletes the node from document tree.

toString()

Returns the XML string representation of node tree.

toPrettyString()

Returns the XML string representation of node tree. Line feeds and tabs are inserted into the document to make it look pretty.