Menu

[r10367]: / legacy / etc / configxml.subr  Maximize  Restore  History

Download this file

98 lines (73 with data), 2.3 kB

# Copyright (c) 2007-2009 Volker Theile (votdev@gmx.de)
# All rights reserved.
#
# configxml.subr
#	functions used by various rc scripts
#

configxml_file=${configxml_file:-"/conf/config.xml"}
configxml_root=`cat /etc/prd.name | tr '[:upper:]' '[:lower:]'`

# configxml_isset xpath
# Check in /conf/config.xml if xpath is available/found.
# Return 0 if set, nonzero otherwise.
# $1 - XPATH expression
configxml_isset()
{
	local _queryresult _result

	debug "configxml_isset: xpath=<$1>"

	# Get requested xpath
	_queryresult=`/usr/local/bin/xml sel -t -v "count($1)" ${configxml_file}`
	_result=$?

	debug "configxml_isset: results: query=<${_queryresult}> cmd=<${_result}>"

	if [ 0 -eq ${_queryresult} ]; then
		return 1
	else
		return 0
	fi
}

# configxml_get xpath
# Get xpath from /conf/config.xml.
# Return 0 if successful, nonzero otherwise. Return result from query is echoed.
# $1 - XPATH expression
configxml_get()
{
	local _queryresult _result

	debug "configxml_get: xpath=<$1>"

	# Get requested xpath
	_queryresult=`/usr/local/bin/xml sel -t -v "$1" ${configxml_file} | /usr/local/bin/xml unesc`
	_result=$?

	# Output query for later processing.
	echo ${_queryresult}

	debug "configxml_get: results: query=<${_queryresult}> cmd=<${_result}>"

	return ${_result}
}

# configxml_exec_query xquery
# Execute given query.
# Return 0 if successful, nonzero otherwise. Return result from query is echoed.
configxml_exec_query()
{
	local _queryresult _result

	debug "configxml_exec_query: query=<$@>"

	# Execute xml query.
	_queryresult=`eval "/usr/local/bin/xml sel -t $@ ${configxml_file} | /usr/local/bin/xml unesc"`
	_result=$?

	# Output query result for later processing.
	echo ${_queryresult}

	debug "configxml_exec_query: results: query=<${_queryresult}> cmd=<${_result}>"

	return ${_result}
}

# configxml_get_count xpath
# Get number of elements.
# Return 0 if successful, nonzero otherwise. Return result from query is echoed.
# $1 - XPATH expression
configxml_get_count()
{
	local _queryresult _result

	debug "configxml_get_count: xpath=<$1>"

	# Get requested xpath
	_queryresult=`/usr/local/bin/xml sel -t -v "count($1)" ${configxml_file}`
	_result=$?

	# Output query for later processing.
	echo ${_queryresult}

	debug "configxml_get_count: results: query=<${_queryresult}> cmd=<${_result}>"

	return ${_result}
}
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.