<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fran%C3%A7ois+Melchior</id>
	<title>Inkscape Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fran%C3%A7ois+Melchior"/>
	<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/Special:Contributions/Fran%C3%A7ois_Melchior"/>
	<updated>2026-05-23T21:55:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=30344</id>
		<title>Extensions: INX widgets and parameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=30344"/>
		<updated>2008-06-08T14:31:21Z</updated>

		<summary type="html">&lt;p&gt;François Melchior: New page: Here you will find the differents parameters you may use in your .inx files (Inkscape Extensions)  ==boolean== Gives a checkbox in the dialog; the default value may be &amp;quot;true&amp;quot; or &amp;quot;1&amp;quot;, &amp;quot;fals...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the differents parameters you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
==boolean==&lt;br /&gt;
Gives a checkbox in the dialog; the default value may be &amp;quot;true&amp;quot; or &amp;quot;1&amp;quot;, &amp;quot;false&amp;quot; or &amp;quot;0&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get an integer; sort of textbox in the dialog.&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get an float number; sort of textbox in the dialog.&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
To get an character string; textbox in the dialog.&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog.&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
List of choices; the different choices are given by &amp;lt;code&amp;gt;&amp;amp;lt;item&amp;amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
To have different pages in the dialog; the other parameters are given inside &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
List of choices with rounded checkboxes; the different choices are given by &amp;lt;code&amp;gt;&amp;amp;lt;option&amp;amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
''??''&lt;/div&gt;</summary>
		<author><name>François Melchior</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=30334</id>
		<title>INX extension descriptor format</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=30334"/>
		<updated>2008-06-08T14:18:36Z</updated>

		<summary type="html">&lt;p&gt;François Melchior: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
In order for Inkscape to make use of an external script or program, you must describe that script to inkscape using an INX file. See the inkscape share directory for examples. The INX file allows the author to:&lt;br /&gt;
* label strings for translation &lt;br /&gt;
* define parameters&lt;br /&gt;
* chain extensions&lt;br /&gt;
* etc&lt;br /&gt;
Be sure to read through the INX files that come with Inkscape. Nothing beats a working example.&lt;br /&gt;
&lt;br /&gt;
== Localisation of extensions ==&lt;br /&gt;
&lt;br /&gt;
To allow localisation of strings in extension for Inkscape, some xml tags have to be adapted to variant readable by intltool. It means that tags or parametres has to have &amp;quot;_&amp;quot; prepended to their name, e.g. &amp;lt;_name&amp;gt;name of extension&amp;lt;/_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also the path to the extension has to be included in POTFILES.in file to tell intltool where to look for translatable content.&lt;br /&gt;
&lt;br /&gt;
Usefull information, before this section gets fully updated, can be found at [http://gould.cx/ted/blog/Translating_Custom_XML Ted's blog].&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
More example INX files are available in the Inkscape distribution or in the Inkscape [http://inkscape.svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/share/extensions/|SVN repository].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension&amp;gt;&lt;br /&gt;
  &amp;lt;_name&amp;gt;{Friendly Extension Name}&amp;lt;/_name&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;{org.domain.sub-domain.extension-name}&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;dependency type=&amp;quot;executable&amp;quot; location=&amp;quot;[extensions|path|plugins|{location}]&amp;quot;&amp;gt;program.ext&amp;lt;/dependency&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;tab&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;  &lt;br /&gt;
    &amp;lt;page name=&amp;quot;controls&amp;quot; _gui-text=&amp;quot;Controls&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param name=&amp;quot;{argumentName}&amp;quot; type=&amp;quot;[int|float|string|boolean|description]&amp;quot; min=&amp;quot;{number}&amp;quot; max=&amp;quot;{number}&amp;quot;&lt;br /&gt;
        _gui-text=&amp;quot;{Friendly Argument Name}&amp;quot;&amp;gt;{default value}&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;help&amp;quot; _gui-text=&amp;quot;Help&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param name=&amp;quot;help_text&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;{Friendly Extension Help}&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
  &amp;lt;/param&amp;gt;&lt;br /&gt;
  &amp;lt;effect&amp;gt;&lt;br /&gt;
    &amp;lt;object-type&amp;gt;[all|{element type}]&amp;lt;/object-type&amp;gt;&lt;br /&gt;
      &amp;lt;effects-menu&amp;gt;&lt;br /&gt;
        &amp;lt;submenu _name=&amp;quot;{Extension Group Name}&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/effects-menu&amp;gt;&lt;br /&gt;
  &amp;lt;/effect&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
    &amp;lt;command reldir=&amp;quot;extensions&amp;quot; interpreter=&amp;quot;[python|perl|ruby|bash|{some other}]&amp;quot;&amp;gt;program.ext&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/inkscape-extension&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DTD ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!ELEMENT inkscape-extension (name, id, dependency*, param*,(input|output|effect),(script|plugin))&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT input (extension, mimetype, filetype, filetypetooltip, output_extension?)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT output (extension, mimetype, filetype, filetypetooltip, dataloss?)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT effect (object-type|submenu?)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT script (command, helper_extension*, check*)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT plugin (name)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT name (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT id (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT item (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT option (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT dependency (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT param (#PCDATA|page|item|option)*&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT page (#PCDATA, param*)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT extension (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT mimetype (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT filetype (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT filetooltip (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT object-type (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT command (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT check (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT dataloss (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT helper_extension (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT output_extension (#PCDATA)&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;!ATTLIST check reldir (absolute|path|extensions|plugins) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST command reldir (absolute|path|extensions|plugins) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST command interpreter CDATA #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST dependency type (executable|extension) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST dependency location (absolute|path|extensions|plugins) #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST dependency description CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST page name CDATA #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST page gui-text CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param name CDATA #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param type (int|float|string|boolean|enum|notebook|description|optiongroup|color) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param min CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param max CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param max_length CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param precision CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param gui-text CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param gui-tip CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param gui-description CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param scope CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param gui-hidden CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param appearance (minimal|) &amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST submenu name CDATA #REQUIRED&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*[[INX Parameters]]&lt;br /&gt;
*[[ScriptingHOWTO]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Help Wanted]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>François Melchior</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=30324</id>
		<title>INX extension descriptor format</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=30324"/>
		<updated>2008-06-08T14:16:44Z</updated>

		<summary type="html">&lt;p&gt;François Melchior: /* DTD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
In order for Inkscape to make use of an external script or program, you must describe that script to inkscape using an INX file. See the inkscape share directory for examples. The INX file allows the author to:&lt;br /&gt;
* label strings for translation &lt;br /&gt;
* define parameters&lt;br /&gt;
* chain extensions&lt;br /&gt;
* etc&lt;br /&gt;
Be sure to read through the INX files that come with Inkscape. Nothing beats a working example.&lt;br /&gt;
&lt;br /&gt;
== Localisation of extensions ==&lt;br /&gt;
&lt;br /&gt;
To allow localisation of strings in extension for Inkscape, some xml tags have to be adapted to variant readable by intltool. It means that tags or parametres has to have &amp;quot;_&amp;quot; prepended to their name, e.g. &amp;lt;_name&amp;gt;name of extension&amp;lt;/_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also the path to the extension has to be included in POTFILES.in file to tell intltool where to look for translatable content.&lt;br /&gt;
&lt;br /&gt;
Usefull information, before this section gets fully updated, can be found at [http://gould.cx/ted/blog/Translating_Custom_XML Ted's blog].&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
More example INX files are available in the Inkscape distribution or in the Inkscape [http://inkscape.svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/share/extensions/|SVN repository].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension&amp;gt;&lt;br /&gt;
  &amp;lt;_name&amp;gt;{Friendly Extension Name}&amp;lt;/_name&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;{org.domain.sub-domain.extension-name}&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;dependency type=&amp;quot;executable&amp;quot; location=&amp;quot;[extensions|path|plugins|{location}]&amp;quot;&amp;gt;program.ext&amp;lt;/dependency&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;tab&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;  &lt;br /&gt;
    &amp;lt;page name=&amp;quot;controls&amp;quot; _gui-text=&amp;quot;Controls&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param name=&amp;quot;{argumentName}&amp;quot; type=&amp;quot;[int|float|string|boolean|description]&amp;quot; min=&amp;quot;{number}&amp;quot; max=&amp;quot;{number}&amp;quot;&lt;br /&gt;
        _gui-text=&amp;quot;{Friendly Argument Name}&amp;quot;&amp;gt;{default value}&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;help&amp;quot; _gui-text=&amp;quot;Help&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param name=&amp;quot;help_text&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;{Friendly Extension Help}&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
  &amp;lt;/param&amp;gt;&lt;br /&gt;
  &amp;lt;effect&amp;gt;&lt;br /&gt;
    &amp;lt;object-type&amp;gt;[all|{element type}]&amp;lt;/object-type&amp;gt;&lt;br /&gt;
      &amp;lt;effects-menu&amp;gt;&lt;br /&gt;
        &amp;lt;submenu _name=&amp;quot;{Extension Group Name}&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/effects-menu&amp;gt;&lt;br /&gt;
  &amp;lt;/effect&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
    &amp;lt;command reldir=&amp;quot;extensions&amp;quot; interpreter=&amp;quot;[python|perl|ruby|bash|{some other}]&amp;quot;&amp;gt;program.ext&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/inkscape-extension&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DTD ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!ELEMENT inkscape-extension (name, id, dependency*, param*,(input|output|effect),(script|plugin))&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT input (extension, mimetype, filetype, filetypetooltip, output_extension?)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT output (extension, mimetype, filetype, filetypetooltip, dataloss?)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT effect (object-type|submenu?)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT script (command, helper_extension*, check*)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT plugin (name)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT name (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT id (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT item (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT option (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT dependency (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT param (#PCDATA|page|item|option)*&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT page (#PCDATA, param*)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT extension (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT mimetype (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT filetype (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT filetooltip (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT object-type (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT command (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT check (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT dataloss (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT helper_extension (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT output_extension (#PCDATA)&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;!ATTLIST check reldir (absolute|path|extensions|plugins) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST command reldir (absolute|path|extensions|plugins) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST command interpreter CDATA #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST dependency type (executable|extension) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST dependency location (absolute|path|extensions|plugins) #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST dependency description CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST page name CDATA #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST page gui-text CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param name CDATA #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param type (int|float|string|boolean|enum|notebook|description|optiongroup|color) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param min CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param max CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param max_length CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param precision CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param gui-text CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param gui-tip CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param gui-description CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param scope CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param gui-hidden CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param appearance (minimal|) &amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST submenu name CDATA #REQUIRED&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*[[ScriptingHOWTO]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Help Wanted]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>François Melchior</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=30314</id>
		<title>INX extension descriptor format</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=30314"/>
		<updated>2008-06-08T12:44:01Z</updated>

		<summary type="html">&lt;p&gt;François Melchior: /* DTD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction == &lt;br /&gt;
&lt;br /&gt;
In order for Inkscape to make use of an external script or program, you must describe that script to inkscape using an INX file. See the inkscape share directory for examples. The INX file allows the author to:&lt;br /&gt;
* label strings for translation &lt;br /&gt;
* define parameters&lt;br /&gt;
* chain extensions&lt;br /&gt;
* etc&lt;br /&gt;
Be sure to read through the INX files that come with Inkscape. Nothing beats a working example.&lt;br /&gt;
&lt;br /&gt;
== Localisation of extensions ==&lt;br /&gt;
&lt;br /&gt;
To allow localisation of strings in extension for Inkscape, some xml tags have to be adapted to variant readable by intltool. It means that tags or parametres has to have &amp;quot;_&amp;quot; prepended to their name, e.g. &amp;lt;_name&amp;gt;name of extension&amp;lt;/_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also the path to the extension has to be included in POTFILES.in file to tell intltool where to look for translatable content.&lt;br /&gt;
&lt;br /&gt;
Usefull information, before this section gets fully updated, can be found at [http://gould.cx/ted/blog/Translating_Custom_XML Ted's blog].&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
More example INX files are available in the Inkscape distribution or in the Inkscape [http://inkscape.svn.sourceforge.net/viewvc/inkscape/inkscape/trunk/share/extensions/|SVN repository].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension&amp;gt;&lt;br /&gt;
  &amp;lt;_name&amp;gt;{Friendly Extension Name}&amp;lt;/_name&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;{org.domain.sub-domain.extension-name}&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;dependency type=&amp;quot;executable&amp;quot; location=&amp;quot;[extensions|path|plugins|{location}]&amp;quot;&amp;gt;program.ext&amp;lt;/dependency&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;tab&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;  &lt;br /&gt;
    &amp;lt;page name=&amp;quot;controls&amp;quot; _gui-text=&amp;quot;Controls&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param name=&amp;quot;{argumentName}&amp;quot; type=&amp;quot;[int|float|string|boolean|description]&amp;quot; min=&amp;quot;{number}&amp;quot; max=&amp;quot;{number}&amp;quot;&lt;br /&gt;
        _gui-text=&amp;quot;{Friendly Argument Name}&amp;quot;&amp;gt;{default value}&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
    &amp;lt;page name=&amp;quot;help&amp;quot; _gui-text=&amp;quot;Help&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param name=&amp;quot;help_text&amp;quot; type=&amp;quot;description&amp;quot;&amp;gt;{Friendly Extension Help}&amp;lt;/param&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
  &amp;lt;/param&amp;gt;&lt;br /&gt;
  &amp;lt;effect&amp;gt;&lt;br /&gt;
    &amp;lt;object-type&amp;gt;[all|{element type}]&amp;lt;/object-type&amp;gt;&lt;br /&gt;
      &amp;lt;effects-menu&amp;gt;&lt;br /&gt;
        &amp;lt;submenu _name=&amp;quot;{Extension Group Name}&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/effects-menu&amp;gt;&lt;br /&gt;
  &amp;lt;/effect&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
    &amp;lt;command reldir=&amp;quot;extensions&amp;quot; interpreter=&amp;quot;[python|perl|ruby|bash|{some other}]&amp;quot;&amp;gt;program.ext&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/inkscape-extension&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DTD ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;!ELEMENT inkscape-extension (name, id, dependency*, param*,(input|output|effect),(script|plugin))&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT input (extension, mimetype, filetype, filetypetooltip, output_extension?)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT output (extension, mimetype, filetype, filetypetooltip, dataloss?)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT effect (object-type)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT script (command, helper_extension*, check*)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT plugin (name)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT name (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT id (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT item (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT dependency (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT param (#PCDATA, page*, item*)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT page (#PCDATA, param*)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT extension (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT mimetype (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT filetype (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT filetooltip (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT object-type (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT command (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT check (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT dataloss (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT helper_extension (#PCDATA)&amp;gt;&lt;br /&gt;
 &amp;lt;!ELEMENT output_extension (#PCDATA)&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;!ATTLIST check reldir (absolute|path|extensions|plugins) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST command reldir (absolute|path|extensions|plugins) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST command interpreter CDATA #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST dependency type (executable|extension) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST dependency location (absolute|path|extensions|plugins) #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST dependency description CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST page name CDATA #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST page gui-text CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param name CDATA #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param type (int|float|string|boolean|enum|notebook|description|optiongroup) #REQUIRED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param min CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param max CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param precision CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST param gui-text CDATA #IMPLIED&amp;gt;&lt;br /&gt;
 &amp;lt;!ATTLIST submenu name CDATA #REQUIRED&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*[[ScriptingHOWTO]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Help Wanted]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>François Melchior</name></author>
	</entry>
</feed>