#################################################################################################
#################################################################################################
#################################################################################################
# Global Variables
#################################################################################################
#################################################################################################
#################################################################################################

# Version number
my $ver ="1.0";

# Working path of hxsp (loaded from config)
my $working_path;

# Interface language (loaded from config)
my $language;

# Port to use for hxsp (loaded from config)
my $port;

# Use complete command description on syntax error if ON (loaded from config)
my $all_usage_synerr;

# Include XIncludes on the fly if ON (loaded from config)
my $expand_xinc;

# Max Depth of the DOM tree while parsing
my $max_depth;

# Message sent when hxsp was called without commands (loaded from message.##)
my $home_message;

# Message sent when hxsp was called with the help command (loaded from message.##)
my $help_message;

# Message sent when a stylesheet is added (loaded from message.##)
my $s_add;

# Message sent when a stylesheet is reloaded (loaded from message.##)
my $s_reload;

# Message sent when a stylesheet is removed (loaded from message.##)
my $s_remove;

# Message to print the stylesheet status for list command (loaded from message.##)
my $list;

# Message sent when the list command was called
# and there is no stylesheet loaded (loaded from message.##)
my $empty;

# Message sent after "home_message" when hxsp was called without commands
# and sent after "help_message" when hxsp was called with the help command
# and after all syntax errors if "all_usage_synerr" is set ON (loaded from message.##)
my $all_usage;

# All the following syntax errors messages are used #only# if "all_usage_synerr" is set OFF

# Message sent on help syntax errors (loaded from message.##)
my $help_usage;

# Message sent on add syntax errors (loaded from message.##)
my $add_usage;

# Message sent on remove syntax errors (loaded from message.##)
my $remove_usage;

# Message sent on list syntax errors (loaded from message.##)
my $list_usage;

# Message sent on reload syntax errors (loaded from message.##)
my $reload_usage;

# Message sent on apply syntax errors (loaded from message.##)
my $apply_usage;

# The error hash contains the error messages to call in case of syntax
# or operative errors, the keys are defined by the left value of each line in error##
my %error;

# load ok template
my $ok_tpl;

# load operror template
my $operror_tpl;

# load synerror template
my $synerror_tpl;

# This is the data structure to store the loaded stylesheets (hash of array)
# [0] :Styleseet URI , [1] : Loaded styleseet
my %stylesheet_hash;

# This is a hash for fast duplicate uri detection
my %by_name;
