I am attempting to implement the full International 
Orienteering Federation mapping standards (ISOM:2000 and ISSOM:2007) within 
Inkscape.
 
So far, I've created 
a GIMP palette containing the standard colours required, using this across 
the bottom of my Inkscape window.  I've also written an 
extension to generate the required point symbols and produced many of the required fill patterns, incorporating them 
into patterns.svg.
 
I'm not happy with modifying patterns.svg as this 
is one of the standard files provided with Inkscape.  I've seen the way 
that the X-moto extensions use dialog boxes for changing .jpg and .png block 
textures and would like to do something similar for my svg patterns, but this is 
a medium-term objective.
 
The remaining symbol type that I'm looking to 
implement is the lines.  Different line 
styles from simple continuous lines of a given width and colour to complex 
dashed lines with superimposed symbols at regular intervals are required.  
Given the examples available in the current Pattern along Path and Scatter 
extensions, the creation of the superimposed symbols isn't seen as a 
problem.
 
The problem that I'm having is in what should be a 
simple task - that of changing the style attributes of an existing 
line.  I can create new dash styles by editing the preferences.xml 
file in my personal user area but, for many reasons, do not see this as as a 
realistic option and not one that could be distributed to other users.  
I've been trying to write a simple Python extension that will take a selected 
line or number of lines and replace the style of the original with a different 
set of style attributes without changing its path.  I've looked 
through the currently distributed Python extensions for clues as to how to 
do this, but have not been successful.  I've even started looking at the 1000+ page Python 2.6.4 online 
manual (is this the version of Python implemented in Inkscape?) but this hasn't 
really helped, although I've picked up some pointers for better Python 
coding.  I'm assuming that there is a subroutine in one of the 'helper' 
files - inkex.py, pathmodifier.py, ... etc. that would help with this 
but haven't determined which one it could be.  I would be grateful if 
someone could point me in the right direction.
 
Jon