<?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=Flor</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=Flor"/>
	<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/Special:Contributions/Flor"/>
	<updated>2026-04-08T06:53:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=65779</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=65779"/>
		<updated>2010-11-05T23:19:55Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Translation of extensions */&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;
== Translation of extensions ==&lt;br /&gt;
&lt;br /&gt;
Extension dialog windows, described in ING files, can be prepared for translation or localisation by adding an &amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt; (underscore) to the XML tags or attributes. Only add underscores when text need to be translated (not numeric values, for example!).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;_name&amp;gt;Some translatable extension name&amp;lt;/_name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;...&amp;quot; type=&amp;quot;...&amp;quot; _gui-text=&amp;quot;Some translatable label text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When extensions are included in the [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head%3A/share/extensions/ Inkscape BZR Repository], various scripts will scan each ING file for translatable text and prepare [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head%3A/po/ translation files] for others to translate.&lt;br /&gt;
&lt;br /&gt;
See also: [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://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head%3A/share/extensions/ BZR repository].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&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;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DTD XML schema==&lt;br /&gt;
The following XML schema may not fully describe the current ING file structure. The actual XML schema used is described in the [[INX extension descriptor format#RELAX NG XML schema|next paragraph]].&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;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 effect needs-live-preview (true|false) #REQUIRED&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;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RELAX NG XML schema ==&lt;br /&gt;
The XML schema for ING files is available in the [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/annotate/head%3A/share/extensions/inkscape.extension.rng Inkscape BZR repository]. This is a [http://www.relaxng.org/ RELAX NG schema].&lt;br /&gt;
&lt;br /&gt;
A compactly formatted version of the schema (created on 2 November 2010 using [http://www.thaiopensource.com/relaxng/trang.html Trang]):&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
default namespace =&lt;br /&gt;
  &amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start =&lt;br /&gt;
  element inkscape-extension {&lt;br /&gt;
    element _name { text },&lt;br /&gt;
    element id { text },&lt;br /&gt;
    element dependency {&lt;br /&gt;
      attribute type { inx.dependency-type.values },&lt;br /&gt;
      attribute location { inx.location.values }?,&lt;br /&gt;
      attribute _description { text }?,&lt;br /&gt;
      text&lt;br /&gt;
    }*,&lt;br /&gt;
    (inx.parameters&lt;br /&gt;
     | element param {&lt;br /&gt;
         attribute name { text },&lt;br /&gt;
         attribute type { &amp;quot;notebook&amp;quot; },&lt;br /&gt;
         element page {&lt;br /&gt;
           attribute name { text },&lt;br /&gt;
           attribute _gui-text { text },&lt;br /&gt;
           inx.parameters+&lt;br /&gt;
         }+&lt;br /&gt;
       })*,&lt;br /&gt;
    (element input {&lt;br /&gt;
       inx.io.common,&lt;br /&gt;
       element output_extension { text }?&lt;br /&gt;
     }&lt;br /&gt;
     | element output {&lt;br /&gt;
         inx.io.common,&lt;br /&gt;
         element dataloss { xsd:boolean }?&lt;br /&gt;
       }&lt;br /&gt;
     | element effect {&lt;br /&gt;
         attribute needs-document { xsd:boolean }?,&lt;br /&gt;
         attribute needs-live-preview { xsd:boolean }?,&lt;br /&gt;
         element object-type {&lt;br /&gt;
           xsd:token &amp;quot;all&amp;quot; | xsd:token &amp;quot;path&amp;quot; | xsd:token &amp;quot;rect&amp;quot;&lt;br /&gt;
         },&lt;br /&gt;
         element effects-menu {&lt;br /&gt;
           attribute hidden { xsd:boolean &amp;quot;true&amp;quot; }&lt;br /&gt;
           | element submenu {&lt;br /&gt;
               attribute _name { text },&lt;br /&gt;
               empty&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     | element path-effect { empty }&lt;br /&gt;
     | element print { empty }),&lt;br /&gt;
    (element script {&lt;br /&gt;
       element command {&lt;br /&gt;
         inx.reldir.attr,&lt;br /&gt;
         attribute interpreter { &amp;quot;python&amp;quot; | &amp;quot;perl&amp;quot; }?,&lt;br /&gt;
         text&lt;br /&gt;
       },&lt;br /&gt;
       element helper_extension { xsd:NMTOKEN }?,&lt;br /&gt;
       element check { inx.reldir.attr, text }*&lt;br /&gt;
     }&lt;br /&gt;
     | element xslt {&lt;br /&gt;
         element file { inx.reldir.attr, text }&lt;br /&gt;
       }&lt;br /&gt;
     | element plugin {&lt;br /&gt;
         element name { text }&lt;br /&gt;
       })&lt;br /&gt;
  }&lt;br /&gt;
inx.reldir.attr = attribute reldir { inx.location.values }&lt;br /&gt;
inx.location.values = &amp;quot;extensions&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;plugins&amp;quot;&lt;br /&gt;
inx.dependency-type.values = &amp;quot;extension&amp;quot; | &amp;quot;executable&amp;quot; | &amp;quot;plugin&amp;quot;&lt;br /&gt;
inx.io.common =&lt;br /&gt;
  element extension { text },&lt;br /&gt;
  element mimetype { text },&lt;br /&gt;
  element _filetypename { text }?,&lt;br /&gt;
  element _filetypetooltip { text }?&lt;br /&gt;
inx.parameter =&lt;br /&gt;
  attribute name { xsd:token },&lt;br /&gt;
  attribute gui-hidden { xsd:boolean }?,&lt;br /&gt;
  attribute _gui-text { text }?,&lt;br /&gt;
  ((attribute type { &amp;quot;int&amp;quot; },&lt;br /&gt;
    attribute min { xsd:integer }?,&lt;br /&gt;
    attribute max { xsd:integer }?,&lt;br /&gt;
    (empty | xsd:integer))&lt;br /&gt;
   | (attribute type { &amp;quot;float&amp;quot; },&lt;br /&gt;
      attribute precision { xsd:integer }?,&lt;br /&gt;
      attribute min { xsd:float }?,&lt;br /&gt;
      attribute max { xsd:float }?,&lt;br /&gt;
      xsd:float)&lt;br /&gt;
   | (attribute type { &amp;quot;boolean&amp;quot; },&lt;br /&gt;
      xsd:boolean)&lt;br /&gt;
   | (attribute type { &amp;quot;string&amp;quot; },&lt;br /&gt;
      attribute max_length { xsd:integer }?,&lt;br /&gt;
      (empty | text))&lt;br /&gt;
   | (attribute type { &amp;quot;description&amp;quot; },&lt;br /&gt;
      text)&lt;br /&gt;
   | (attribute type { &amp;quot;enum&amp;quot; },&lt;br /&gt;
      (element _item { inx.parameter.enum.item }&lt;br /&gt;
       | element item { inx.parameter.enum.item })+)&lt;br /&gt;
   | (attribute type { &amp;quot;optiongroup&amp;quot; },&lt;br /&gt;
      attribute appearance { &amp;quot;minimal&amp;quot; }?,&lt;br /&gt;
      (element option { inx.parameter.optiongroup.option }&lt;br /&gt;
       | element _option { inx.parameter.optiongroup.option })+))&lt;br /&gt;
inx.parameters =&lt;br /&gt;
  element param { inx.parameter }&lt;br /&gt;
  | element _param { inx.parameter }&lt;br /&gt;
inx.parameter.enum.item =&lt;br /&gt;
  attribute value { text },&lt;br /&gt;
  xsd:token&lt;br /&gt;
inx.parameter.optiongroup.option =&lt;br /&gt;
  attribute value { text }?,&lt;br /&gt;
  text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=65773</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=65773"/>
		<updated>2010-11-05T22:34:45Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* 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 parameters has to have &amp;quot;_&amp;quot; prepended to their name, e.g. &amp;lt;tt&amp;gt;&amp;lt;_name&amp;gt;name of extension&amp;lt;/_name&amp;gt;&amp;lt;/tt&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;
Useful 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://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head%3A/share/extensions/ BZR repository].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&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;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DTD XML schema==&lt;br /&gt;
The following XML schema may not fully describe the current ING file structure. The actual XML schema used is described in the [[INX extension descriptor format#RELAX NG XML schema|next paragraph]].&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;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 effect needs-live-preview (true|false) #REQUIRED&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;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RELAX NG XML schema ==&lt;br /&gt;
The XML schema for ING files is available in the [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/annotate/head%3A/share/extensions/inkscape.extension.rng Inkscape BZR repository]. This is a [http://www.relaxng.org/ RELAX NG schema].&lt;br /&gt;
&lt;br /&gt;
A compactly formatted version of the schema (created on 2 November 2010 using [http://www.thaiopensource.com/relaxng/trang.html Trang]):&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
default namespace =&lt;br /&gt;
  &amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start =&lt;br /&gt;
  element inkscape-extension {&lt;br /&gt;
    element _name { text },&lt;br /&gt;
    element id { text },&lt;br /&gt;
    element dependency {&lt;br /&gt;
      attribute type { inx.dependency-type.values },&lt;br /&gt;
      attribute location { inx.location.values }?,&lt;br /&gt;
      attribute _description { text }?,&lt;br /&gt;
      text&lt;br /&gt;
    }*,&lt;br /&gt;
    (inx.parameters&lt;br /&gt;
     | element param {&lt;br /&gt;
         attribute name { text },&lt;br /&gt;
         attribute type { &amp;quot;notebook&amp;quot; },&lt;br /&gt;
         element page {&lt;br /&gt;
           attribute name { text },&lt;br /&gt;
           attribute _gui-text { text },&lt;br /&gt;
           inx.parameters+&lt;br /&gt;
         }+&lt;br /&gt;
       })*,&lt;br /&gt;
    (element input {&lt;br /&gt;
       inx.io.common,&lt;br /&gt;
       element output_extension { text }?&lt;br /&gt;
     }&lt;br /&gt;
     | element output {&lt;br /&gt;
         inx.io.common,&lt;br /&gt;
         element dataloss { xsd:boolean }?&lt;br /&gt;
       }&lt;br /&gt;
     | element effect {&lt;br /&gt;
         attribute needs-document { xsd:boolean }?,&lt;br /&gt;
         attribute needs-live-preview { xsd:boolean }?,&lt;br /&gt;
         element object-type {&lt;br /&gt;
           xsd:token &amp;quot;all&amp;quot; | xsd:token &amp;quot;path&amp;quot; | xsd:token &amp;quot;rect&amp;quot;&lt;br /&gt;
         },&lt;br /&gt;
         element effects-menu {&lt;br /&gt;
           attribute hidden { xsd:boolean &amp;quot;true&amp;quot; }&lt;br /&gt;
           | element submenu {&lt;br /&gt;
               attribute _name { text },&lt;br /&gt;
               empty&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     | element path-effect { empty }&lt;br /&gt;
     | element print { empty }),&lt;br /&gt;
    (element script {&lt;br /&gt;
       element command {&lt;br /&gt;
         inx.reldir.attr,&lt;br /&gt;
         attribute interpreter { &amp;quot;python&amp;quot; | &amp;quot;perl&amp;quot; }?,&lt;br /&gt;
         text&lt;br /&gt;
       },&lt;br /&gt;
       element helper_extension { xsd:NMTOKEN }?,&lt;br /&gt;
       element check { inx.reldir.attr, text }*&lt;br /&gt;
     }&lt;br /&gt;
     | element xslt {&lt;br /&gt;
         element file { inx.reldir.attr, text }&lt;br /&gt;
       }&lt;br /&gt;
     | element plugin {&lt;br /&gt;
         element name { text }&lt;br /&gt;
       })&lt;br /&gt;
  }&lt;br /&gt;
inx.reldir.attr = attribute reldir { inx.location.values }&lt;br /&gt;
inx.location.values = &amp;quot;extensions&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;plugins&amp;quot;&lt;br /&gt;
inx.dependency-type.values = &amp;quot;extension&amp;quot; | &amp;quot;executable&amp;quot; | &amp;quot;plugin&amp;quot;&lt;br /&gt;
inx.io.common =&lt;br /&gt;
  element extension { text },&lt;br /&gt;
  element mimetype { text },&lt;br /&gt;
  element _filetypename { text }?,&lt;br /&gt;
  element _filetypetooltip { text }?&lt;br /&gt;
inx.parameter =&lt;br /&gt;
  attribute name { xsd:token },&lt;br /&gt;
  attribute gui-hidden { xsd:boolean }?,&lt;br /&gt;
  attribute _gui-text { text }?,&lt;br /&gt;
  ((attribute type { &amp;quot;int&amp;quot; },&lt;br /&gt;
    attribute min { xsd:integer }?,&lt;br /&gt;
    attribute max { xsd:integer }?,&lt;br /&gt;
    (empty | xsd:integer))&lt;br /&gt;
   | (attribute type { &amp;quot;float&amp;quot; },&lt;br /&gt;
      attribute precision { xsd:integer }?,&lt;br /&gt;
      attribute min { xsd:float }?,&lt;br /&gt;
      attribute max { xsd:float }?,&lt;br /&gt;
      xsd:float)&lt;br /&gt;
   | (attribute type { &amp;quot;boolean&amp;quot; },&lt;br /&gt;
      xsd:boolean)&lt;br /&gt;
   | (attribute type { &amp;quot;string&amp;quot; },&lt;br /&gt;
      attribute max_length { xsd:integer }?,&lt;br /&gt;
      (empty | text))&lt;br /&gt;
   | (attribute type { &amp;quot;description&amp;quot; },&lt;br /&gt;
      text)&lt;br /&gt;
   | (attribute type { &amp;quot;enum&amp;quot; },&lt;br /&gt;
      (element _item { inx.parameter.enum.item }&lt;br /&gt;
       | element item { inx.parameter.enum.item })+)&lt;br /&gt;
   | (attribute type { &amp;quot;optiongroup&amp;quot; },&lt;br /&gt;
      attribute appearance { &amp;quot;minimal&amp;quot; }?,&lt;br /&gt;
      (element option { inx.parameter.optiongroup.option }&lt;br /&gt;
       | element _option { inx.parameter.optiongroup.option })+))&lt;br /&gt;
inx.parameters =&lt;br /&gt;
  element param { inx.parameter }&lt;br /&gt;
  | element _param { inx.parameter }&lt;br /&gt;
inx.parameter.enum.item =&lt;br /&gt;
  attribute value { text },&lt;br /&gt;
  xsd:token&lt;br /&gt;
inx.parameter.optiongroup.option =&lt;br /&gt;
  attribute value { text }?,&lt;br /&gt;
  text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=65767</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=65767"/>
		<updated>2010-11-05T22:26:12Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* RELAX NG XML schema */&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 parameters has to have &amp;quot;_&amp;quot; prepended to their name, e.g. &amp;lt;tt&amp;gt;&amp;lt;_name&amp;gt;name of extension&amp;lt;/_name&amp;gt;&amp;lt;/tt&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;
Useful 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://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head%3A/share/extensions/ BZR repository].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&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;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DTD ==&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;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 effect needs-live-preview (true|false) #REQUIRED&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;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RELAX NG XML schema ==&lt;br /&gt;
The XML schema for ING files is available in the [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/annotate/head%3A/share/extensions/inkscape.extension.rng Inkscape BZR repository]. This is a [http://www.relaxng.org/ RELAX NG schema].&lt;br /&gt;
&lt;br /&gt;
A compactly formatted version of the schema (created on 2 November 2010 using [http://www.thaiopensource.com/relaxng/trang.html Trang]):&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
default namespace =&lt;br /&gt;
  &amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start =&lt;br /&gt;
  element inkscape-extension {&lt;br /&gt;
    element _name { text },&lt;br /&gt;
    element id { text },&lt;br /&gt;
    element dependency {&lt;br /&gt;
      attribute type { inx.dependency-type.values },&lt;br /&gt;
      attribute location { inx.location.values }?,&lt;br /&gt;
      attribute _description { text }?,&lt;br /&gt;
      text&lt;br /&gt;
    }*,&lt;br /&gt;
    (inx.parameters&lt;br /&gt;
     | element param {&lt;br /&gt;
         attribute name { text },&lt;br /&gt;
         attribute type { &amp;quot;notebook&amp;quot; },&lt;br /&gt;
         element page {&lt;br /&gt;
           attribute name { text },&lt;br /&gt;
           attribute _gui-text { text },&lt;br /&gt;
           inx.parameters+&lt;br /&gt;
         }+&lt;br /&gt;
       })*,&lt;br /&gt;
    (element input {&lt;br /&gt;
       inx.io.common,&lt;br /&gt;
       element output_extension { text }?&lt;br /&gt;
     }&lt;br /&gt;
     | element output {&lt;br /&gt;
         inx.io.common,&lt;br /&gt;
         element dataloss { xsd:boolean }?&lt;br /&gt;
       }&lt;br /&gt;
     | element effect {&lt;br /&gt;
         attribute needs-document { xsd:boolean }?,&lt;br /&gt;
         attribute needs-live-preview { xsd:boolean }?,&lt;br /&gt;
         element object-type {&lt;br /&gt;
           xsd:token &amp;quot;all&amp;quot; | xsd:token &amp;quot;path&amp;quot; | xsd:token &amp;quot;rect&amp;quot;&lt;br /&gt;
         },&lt;br /&gt;
         element effects-menu {&lt;br /&gt;
           attribute hidden { xsd:boolean &amp;quot;true&amp;quot; }&lt;br /&gt;
           | element submenu {&lt;br /&gt;
               attribute _name { text },&lt;br /&gt;
               empty&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     | element path-effect { empty }&lt;br /&gt;
     | element print { empty }),&lt;br /&gt;
    (element script {&lt;br /&gt;
       element command {&lt;br /&gt;
         inx.reldir.attr,&lt;br /&gt;
         attribute interpreter { &amp;quot;python&amp;quot; | &amp;quot;perl&amp;quot; }?,&lt;br /&gt;
         text&lt;br /&gt;
       },&lt;br /&gt;
       element helper_extension { xsd:NMTOKEN }?,&lt;br /&gt;
       element check { inx.reldir.attr, text }*&lt;br /&gt;
     }&lt;br /&gt;
     | element xslt {&lt;br /&gt;
         element file { inx.reldir.attr, text }&lt;br /&gt;
       }&lt;br /&gt;
     | element plugin {&lt;br /&gt;
         element name { text }&lt;br /&gt;
       })&lt;br /&gt;
  }&lt;br /&gt;
inx.reldir.attr = attribute reldir { inx.location.values }&lt;br /&gt;
inx.location.values = &amp;quot;extensions&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;plugins&amp;quot;&lt;br /&gt;
inx.dependency-type.values = &amp;quot;extension&amp;quot; | &amp;quot;executable&amp;quot; | &amp;quot;plugin&amp;quot;&lt;br /&gt;
inx.io.common =&lt;br /&gt;
  element extension { text },&lt;br /&gt;
  element mimetype { text },&lt;br /&gt;
  element _filetypename { text }?,&lt;br /&gt;
  element _filetypetooltip { text }?&lt;br /&gt;
inx.parameter =&lt;br /&gt;
  attribute name { xsd:token },&lt;br /&gt;
  attribute gui-hidden { xsd:boolean }?,&lt;br /&gt;
  attribute _gui-text { text }?,&lt;br /&gt;
  ((attribute type { &amp;quot;int&amp;quot; },&lt;br /&gt;
    attribute min { xsd:integer }?,&lt;br /&gt;
    attribute max { xsd:integer }?,&lt;br /&gt;
    (empty | xsd:integer))&lt;br /&gt;
   | (attribute type { &amp;quot;float&amp;quot; },&lt;br /&gt;
      attribute precision { xsd:integer }?,&lt;br /&gt;
      attribute min { xsd:float }?,&lt;br /&gt;
      attribute max { xsd:float }?,&lt;br /&gt;
      xsd:float)&lt;br /&gt;
   | (attribute type { &amp;quot;boolean&amp;quot; },&lt;br /&gt;
      xsd:boolean)&lt;br /&gt;
   | (attribute type { &amp;quot;string&amp;quot; },&lt;br /&gt;
      attribute max_length { xsd:integer }?,&lt;br /&gt;
      (empty | text))&lt;br /&gt;
   | (attribute type { &amp;quot;description&amp;quot; },&lt;br /&gt;
      text)&lt;br /&gt;
   | (attribute type { &amp;quot;enum&amp;quot; },&lt;br /&gt;
      (element _item { inx.parameter.enum.item }&lt;br /&gt;
       | element item { inx.parameter.enum.item })+)&lt;br /&gt;
   | (attribute type { &amp;quot;optiongroup&amp;quot; },&lt;br /&gt;
      attribute appearance { &amp;quot;minimal&amp;quot; }?,&lt;br /&gt;
      (element option { inx.parameter.optiongroup.option }&lt;br /&gt;
       | element _option { inx.parameter.optiongroup.option })+))&lt;br /&gt;
inx.parameters =&lt;br /&gt;
  element param { inx.parameter }&lt;br /&gt;
  | element _param { inx.parameter }&lt;br /&gt;
inx.parameter.enum.item =&lt;br /&gt;
  attribute value { text },&lt;br /&gt;
  xsd:token&lt;br /&gt;
inx.parameter.optiongroup.option =&lt;br /&gt;
  attribute value { text }?,&lt;br /&gt;
  text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=65761</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=65761"/>
		<updated>2010-11-05T22:24:41Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* RELAX NG XML Schema */&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 parameters has to have &amp;quot;_&amp;quot; prepended to their name, e.g. &amp;lt;tt&amp;gt;&amp;lt;_name&amp;gt;name of extension&amp;lt;/_name&amp;gt;&amp;lt;/tt&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;
Useful 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://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/files/head%3A/share/extensions/ BZR repository].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&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;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DTD ==&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;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 effect needs-live-preview (true|false) #REQUIRED&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;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RELAX NG XML schema ==&lt;br /&gt;
The XML schema for ING files is [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/annotate/head%3A/share/extensions/inkscape.extension.rng available as part of the source code]. This is a [http://www.relaxng.org/ RELAX NG schema].&lt;br /&gt;
&lt;br /&gt;
A compactly formatted version of the schema (created on 2 November 2010 using [http://www.thaiopensource.com/relaxng/trang.html Trang]):&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
default namespace =&lt;br /&gt;
  &amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start =&lt;br /&gt;
  element inkscape-extension {&lt;br /&gt;
    element _name { text },&lt;br /&gt;
    element id { text },&lt;br /&gt;
    element dependency {&lt;br /&gt;
      attribute type { inx.dependency-type.values },&lt;br /&gt;
      attribute location { inx.location.values }?,&lt;br /&gt;
      attribute _description { text }?,&lt;br /&gt;
      text&lt;br /&gt;
    }*,&lt;br /&gt;
    (inx.parameters&lt;br /&gt;
     | element param {&lt;br /&gt;
         attribute name { text },&lt;br /&gt;
         attribute type { &amp;quot;notebook&amp;quot; },&lt;br /&gt;
         element page {&lt;br /&gt;
           attribute name { text },&lt;br /&gt;
           attribute _gui-text { text },&lt;br /&gt;
           inx.parameters+&lt;br /&gt;
         }+&lt;br /&gt;
       })*,&lt;br /&gt;
    (element input {&lt;br /&gt;
       inx.io.common,&lt;br /&gt;
       element output_extension { text }?&lt;br /&gt;
     }&lt;br /&gt;
     | element output {&lt;br /&gt;
         inx.io.common,&lt;br /&gt;
         element dataloss { xsd:boolean }?&lt;br /&gt;
       }&lt;br /&gt;
     | element effect {&lt;br /&gt;
         attribute needs-document { xsd:boolean }?,&lt;br /&gt;
         attribute needs-live-preview { xsd:boolean }?,&lt;br /&gt;
         element object-type {&lt;br /&gt;
           xsd:token &amp;quot;all&amp;quot; | xsd:token &amp;quot;path&amp;quot; | xsd:token &amp;quot;rect&amp;quot;&lt;br /&gt;
         },&lt;br /&gt;
         element effects-menu {&lt;br /&gt;
           attribute hidden { xsd:boolean &amp;quot;true&amp;quot; }&lt;br /&gt;
           | element submenu {&lt;br /&gt;
               attribute _name { text },&lt;br /&gt;
               empty&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     | element path-effect { empty }&lt;br /&gt;
     | element print { empty }),&lt;br /&gt;
    (element script {&lt;br /&gt;
       element command {&lt;br /&gt;
         inx.reldir.attr,&lt;br /&gt;
         attribute interpreter { &amp;quot;python&amp;quot; | &amp;quot;perl&amp;quot; }?,&lt;br /&gt;
         text&lt;br /&gt;
       },&lt;br /&gt;
       element helper_extension { xsd:NMTOKEN }?,&lt;br /&gt;
       element check { inx.reldir.attr, text }*&lt;br /&gt;
     }&lt;br /&gt;
     | element xslt {&lt;br /&gt;
         element file { inx.reldir.attr, text }&lt;br /&gt;
       }&lt;br /&gt;
     | element plugin {&lt;br /&gt;
         element name { text }&lt;br /&gt;
       })&lt;br /&gt;
  }&lt;br /&gt;
inx.reldir.attr = attribute reldir { inx.location.values }&lt;br /&gt;
inx.location.values = &amp;quot;extensions&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;plugins&amp;quot;&lt;br /&gt;
inx.dependency-type.values = &amp;quot;extension&amp;quot; | &amp;quot;executable&amp;quot; | &amp;quot;plugin&amp;quot;&lt;br /&gt;
inx.io.common =&lt;br /&gt;
  element extension { text },&lt;br /&gt;
  element mimetype { text },&lt;br /&gt;
  element _filetypename { text }?,&lt;br /&gt;
  element _filetypetooltip { text }?&lt;br /&gt;
inx.parameter =&lt;br /&gt;
  attribute name { xsd:token },&lt;br /&gt;
  attribute gui-hidden { xsd:boolean }?,&lt;br /&gt;
  attribute _gui-text { text }?,&lt;br /&gt;
  ((attribute type { &amp;quot;int&amp;quot; },&lt;br /&gt;
    attribute min { xsd:integer }?,&lt;br /&gt;
    attribute max { xsd:integer }?,&lt;br /&gt;
    (empty | xsd:integer))&lt;br /&gt;
   | (attribute type { &amp;quot;float&amp;quot; },&lt;br /&gt;
      attribute precision { xsd:integer }?,&lt;br /&gt;
      attribute min { xsd:float }?,&lt;br /&gt;
      attribute max { xsd:float }?,&lt;br /&gt;
      xsd:float)&lt;br /&gt;
   | (attribute type { &amp;quot;boolean&amp;quot; },&lt;br /&gt;
      xsd:boolean)&lt;br /&gt;
   | (attribute type { &amp;quot;string&amp;quot; },&lt;br /&gt;
      attribute max_length { xsd:integer }?,&lt;br /&gt;
      (empty | text))&lt;br /&gt;
   | (attribute type { &amp;quot;description&amp;quot; },&lt;br /&gt;
      text)&lt;br /&gt;
   | (attribute type { &amp;quot;enum&amp;quot; },&lt;br /&gt;
      (element _item { inx.parameter.enum.item }&lt;br /&gt;
       | element item { inx.parameter.enum.item })+)&lt;br /&gt;
   | (attribute type { &amp;quot;optiongroup&amp;quot; },&lt;br /&gt;
      attribute appearance { &amp;quot;minimal&amp;quot; }?,&lt;br /&gt;
      (element option { inx.parameter.optiongroup.option }&lt;br /&gt;
       | element _option { inx.parameter.optiongroup.option })+))&lt;br /&gt;
inx.parameters =&lt;br /&gt;
  element param { inx.parameter }&lt;br /&gt;
  | element _param { inx.parameter }&lt;br /&gt;
inx.parameter.enum.item =&lt;br /&gt;
  attribute value { text },&lt;br /&gt;
  xsd:token&lt;br /&gt;
inx.parameter.optiongroup.option =&lt;br /&gt;
  attribute value { text }?,&lt;br /&gt;
  text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65635</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65635"/>
		<updated>2010-11-02T12:28:44Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Important Tips */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
== Script functions ==&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
== Interaction ==&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
== Important Tips ==&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an &amp;lt;code&amp;gt;xml:space=&amp;quot;preserve&amp;quot;&amp;lt;/code&amp;gt; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
== Extension description file ==&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.&lt;br /&gt;
&lt;br /&gt;
The INX file allows you to:&lt;br /&gt;
* Define the script file and other dependencies.&lt;br /&gt;
* List all parameters and their types (to generate an input dialog window).&lt;br /&gt;
* Mark dialog window text for translation.&lt;br /&gt;
* Define an Inkscape menu entry.&lt;br /&gt;
* Chain extensions.&lt;br /&gt;
&lt;br /&gt;
See [[INX extension descriptor format]] for help creating an INX file.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed to the script as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Specify the script file to be run with the &amp;lt;code&amp;gt;&amp;lt;command&amp;gt;&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
For example, if you have described a string parameter with name &amp;lt;code&amp;gt;string1&amp;lt;/code&amp;gt; in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; and presses Apply, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the script.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Description (not a parameter, provides static text)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65629</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65629"/>
		<updated>2010-11-02T12:27:28Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Interaction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
== Script functions ==&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
== Interaction ==&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
== Important Tips ==&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
== Extension description file ==&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.&lt;br /&gt;
&lt;br /&gt;
The INX file allows you to:&lt;br /&gt;
* Define the script file and other dependencies.&lt;br /&gt;
* List all parameters and their types (to generate an input dialog window).&lt;br /&gt;
* Mark dialog window text for translation.&lt;br /&gt;
* Define an Inkscape menu entry.&lt;br /&gt;
* Chain extensions.&lt;br /&gt;
&lt;br /&gt;
See [[INX extension descriptor format]] for help creating an INX file.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed to the script as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Specify the script file to be run with the &amp;lt;code&amp;gt;&amp;lt;command&amp;gt;&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
For example, if you have described a string parameter with name &amp;lt;code&amp;gt;string1&amp;lt;/code&amp;gt; in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; and presses Apply, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the script.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Description (not a parameter, provides static text)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65623</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65623"/>
		<updated>2010-11-02T12:24:07Z</updated>

		<summary type="html">&lt;p&gt;Flor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
== Script functions ==&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
== Interaction ==&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
== Important Tips ==&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
== Extension description file ==&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.&lt;br /&gt;
&lt;br /&gt;
The INX file allows you to:&lt;br /&gt;
* Define the script file and other dependencies.&lt;br /&gt;
* List all parameters and their types (to generate an input dialog window).&lt;br /&gt;
* Mark dialog window text for translation.&lt;br /&gt;
* Define an Inkscape menu entry.&lt;br /&gt;
* Chain extensions.&lt;br /&gt;
&lt;br /&gt;
See [[INX extension descriptor format]] for help creating an INX file.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed to the script as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Specify the script file to be run with the &amp;lt;code&amp;gt;&amp;lt;command&amp;gt;&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
For example, if you have described a string parameter with name &amp;lt;code&amp;gt;string1&amp;lt;/code&amp;gt; in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; and presses Apply, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the script.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Description (not a parameter, provides static text)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Generating_objects_from_extensions&amp;diff=65617</id>
		<title>Generating objects from extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Generating_objects_from_extensions&amp;diff=65617"/>
		<updated>2010-11-02T08:54:07Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Line Segment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If you need an extension to generate an object in Inkscape, there are many tools that already exist to help you. &amp;lt;tt&amp;gt;inkex.py&amp;lt;/tt&amp;gt; is the most notable, as this provides the routines to insert the SVG element into the XML tree of the SVG document.&lt;br /&gt;
&lt;br /&gt;
There is currently no universal set of tools to allow a single function to be called, because different extension have different attibutes for thir objects. For example, the barcode extension merely needs a black rectangle with no stroke, but another may need a way to set the stroke width, dashes and opacity. Thus, it is often best to write your own subroutine for generating your objects.&lt;br /&gt;
&lt;br /&gt;
==A simple example==&lt;br /&gt;
Let's look at a simple Python function for drawing a black rectangle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#SVG element generation routine&lt;br /&gt;
def draw_SVG_square((w,h), (x,y), parent):&lt;br /&gt;
&lt;br /&gt;
    style = {   'stroke'        : 'none',&lt;br /&gt;
                'width'         : '1',&lt;br /&gt;
                'fill'          : '#000000'&lt;br /&gt;
            }&lt;br /&gt;
                &lt;br /&gt;
    attribs = {&lt;br /&gt;
        'style'     : simplestyle.formatStyle(style),&lt;br /&gt;
        'height'    : str(h),&lt;br /&gt;
        'width'     : str(w),&lt;br /&gt;
        'x'         : str(x),&lt;br /&gt;
        'y'         : str(y)&lt;br /&gt;
            }&lt;br /&gt;
    circ = inkex.etree.SubElement(parent, inkex.addNS('rect','svg'), attribs )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first thing to notice is that all the attributes of the object are stored in a dictionary format, with everything being a string. This means you have to convert all your parameters to strings if appropriate (like the &amp;lt;tt&amp;gt;height&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;width&amp;lt;/tt&amp;gt; attributes).&lt;br /&gt;
&lt;br /&gt;
Next, all the style attributes (colours, widths, fonts, etc) are put together in SVG under &amp;lt;tt&amp;gt;style&amp;lt;/tt&amp;gt;. To generate this string, there exists a helper function &amp;lt;tt&amp;gt;simplestyle.formatStyle()&amp;lt;/tt&amp;gt;. You simply feed this function a dictionary of the styles you want, just like the attributes. You can then use this directly as the style attribute.&lt;br /&gt;
&lt;br /&gt;
The next thing to see is how to add the element to the XML tree. &amp;lt;tt&amp;gt;inkex.py&amp;lt;/tt&amp;gt; has the function to do this using the LXML parser. This needs to be given the &amp;quot;parent&amp;quot; of the object (we'll come back to this), the &amp;quot;type&amp;quot; of the object, and the attributes of the object.&lt;br /&gt;
&lt;br /&gt;
The type of the object is in the &amp;lt;tt&amp;gt;svg&amp;lt;/tt&amp;gt; namespace, which means it begins &amp;lt;tt&amp;gt;svg:&amp;lt;/tt&amp;gt; (for a rectangle, it is &amp;lt;tt&amp;gt;svg:rect&amp;lt;/tt&amp;gt;). LXML cannot parse colons, so we use the &amp;lt;tt&amp;gt;inkex.addNS&amp;lt;/tt&amp;gt; to prepend the namespace.&lt;br /&gt;
&lt;br /&gt;
The attributes of the object just needs to be passed the dictionary &amp;lt;tt&amp;gt;attribs&amp;lt;/tt&amp;gt; we made earlier.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;parent&amp;quot; of the object is the containing element. This is usually a group or a layer. This will be passed in by the calling function, and we will see it in action later.&lt;br /&gt;
&lt;br /&gt;
When this function is run with the right parameters, the rectangle will be added to the SVG document.&lt;br /&gt;
&lt;br /&gt;
==Getting the parent==&lt;br /&gt;
&lt;br /&gt;
Finding the parent is easy: you can just pass in the current layer from the &amp;lt;tt&amp;gt;self&amp;lt;/tt&amp;gt; object if you like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
parent = self.current_layer&lt;br /&gt;
draw_SVG_square((1,1), (0,0), parent)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will just plonk the rectangle into the document, centred on the origin.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can create a group much like any other object:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
centre = self.view_center   #Put in in the centre of the current view&lt;br /&gt;
grp_transform = 'translate' + str( centre )&lt;br /&gt;
&lt;br /&gt;
grp_name = 'Group Name'&lt;br /&gt;
grp_attribs = {inkex.addNS('label','inkscape'):grp_name,&lt;br /&gt;
                           'transform':grp_transform }&lt;br /&gt;
grp = inkex.etree.SubElement(self.current_layer, 'g', grp_attribs)#the group to put everything in&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By the way, any object can be assigned a name as we did there, which is often helpful when generating many objects:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
inkex.addNS('label','inkscape') : name&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By setting the transform as &amp;lt;tt&amp;gt;self.view_center&amp;lt;/tt&amp;gt;, we made sure the origin of the group is in the centre of the current view of the document. We will come back to transforms later.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;grp&amp;lt;/tt&amp;gt; object can now be used as a parent for the rectangle:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
draw_SVG_square((1,1), (0,0), grp)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will draw a 1×1 black square in the center of the view.&lt;br /&gt;
&lt;br /&gt;
==Transforms==&lt;br /&gt;
&lt;br /&gt;
It is easy to transform an object: just supply a string like the folllowing as the &amp;lt;tt&amp;gt;transform&amp;lt;/tt&amp;gt; attribute of the element:&lt;br /&gt;
*&amp;lt;tt&amp;gt;trans = 'translate(10,10)'&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;trans = 'translate(10,10) rotate(10)'&amp;lt;/tt&amp;gt;&lt;br /&gt;
*&amp;lt;tt&amp;gt;trans = 'skewX(-1)'&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available commands: &amp;lt;tt&amp;gt;translate, scale, rotate, skewX, skewY, matrix&amp;lt;/tt&amp;gt;. The transforms are composed in left-right order (i.e. the translate comes first in the second example).&lt;br /&gt;
&lt;br /&gt;
==More Examples==&lt;br /&gt;
&lt;br /&gt;
===Ellipses===&lt;br /&gt;
&lt;br /&gt;
Ellipses are actually path elements, but Inkscape generates the nodes automatically if you feed it the correct attributes in the Sodipodi namespace. The vital ones are &amp;lt;tt&amp;gt;rx, ry, cx, cy&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ellipses require some attributes in the &amp;lt;tt&amp;gt;sodipodi:&amp;lt;/tt&amp;gt; namespace, so we also use the &amp;lt;tt&amp;gt;addNS()&amp;lt;/tt&amp;gt; function in the attribute dictionary:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
def draw_SVG_ellipse((rx, ry), (cx, cy), parent, start_end=0,2*pi),transform='' ):&lt;br /&gt;
&lt;br /&gt;
    style = {   'stroke'        : '#000000',&lt;br /&gt;
                'width'         : '1',&lt;br /&gt;
                'fill'          : 'none'            }&lt;br /&gt;
    ell_attribs = {'style':simplestyle.formatStyle(style),&lt;br /&gt;
        inkex.addNS('cx','sodipodi')        :str(cx),&lt;br /&gt;
        inkex.addNS('cy','sodipodi')        :str(cy),&lt;br /&gt;
        inkex.addNS('rx','sodipodi')        :str(rx),&lt;br /&gt;
        inkex.addNS('ry','sodipodi')        :str(ry),&lt;br /&gt;
        inkex.addNS('start','sodipodi')     :str(start_end[0]),&lt;br /&gt;
        inkex.addNS('end','sodipodi')       :str(start_end[1]),&lt;br /&gt;
        inkex.addNS('open','sodipodi')      :'true',    #all ellipse sectors we will draw are open&lt;br /&gt;
        inkex.addNS('type','sodipodi')      :'arc',&lt;br /&gt;
        'transform'                         :transform&lt;br /&gt;
        &lt;br /&gt;
            }&lt;br /&gt;
    ell = inkex.etree.SubElement(parent, inkex.addNS('path','svg'), ell_attribs )&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will draw an open arc, with a black stroke of width 1 and no fill. The transform here can be passed in from outside.&lt;br /&gt;
&lt;br /&gt;
If in doubt about the right attribute name and format, just check a similar object in the XML viewer in Inkscape.&lt;br /&gt;
&lt;br /&gt;
===Line Segment===&lt;br /&gt;
&lt;br /&gt;
Paths can be quite tricky to get the hang of if you don't know the meaning of the letters. Read the SVG specification for a full list.&lt;br /&gt;
&lt;br /&gt;
Here, the style information has been passed in from outside the function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#draw an SVG line segment between the given (raw) points&lt;br /&gt;
def draw_SVG_line( (x1, y1), (x2, y2), style, name, parent):&lt;br /&gt;
    line_style   = { 'stroke': style.l_col,&lt;br /&gt;
                     'stroke-width':str(style.l_th),&lt;br /&gt;
                     'fill': style.l_fill&lt;br /&gt;
                   }&lt;br /&gt;
&lt;br /&gt;
    line_attribs = {'style' : simplestyle.formatStyle(line_style),&lt;br /&gt;
                    inkex.addNS('label','inkscape') : name,&lt;br /&gt;
                    'd' : 'M '+str(x1)+','+str(y1)+' L '+str(x2)+','+str(y2)}&lt;br /&gt;
&lt;br /&gt;
    line = inkex.etree.SubElement(parent, inkex.addNS('path','svg'), line_attribs )&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65611</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65611"/>
		<updated>2010-11-02T08:44:26Z</updated>

		<summary type="html">&lt;p&gt;Flor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Script functions ===&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
=== Important Tips ===&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
=== Extension description file ===&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.&lt;br /&gt;
&lt;br /&gt;
The INX file allows you to:&lt;br /&gt;
* Define the script file and other dependencies.&lt;br /&gt;
* List all parameters and their types (to generate an input dialog window).&lt;br /&gt;
* Mark dialog window text for translation.&lt;br /&gt;
* Define an Inkscape menu entry.&lt;br /&gt;
* Chain extensions.&lt;br /&gt;
&lt;br /&gt;
See [[INX extension descriptor format]] for help creating an INX file.&lt;br /&gt;
&lt;br /&gt;
==== Parameters ====&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed to the script as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Specify the script file to be run with the &amp;lt;code&amp;gt;&amp;lt;command&amp;gt;&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
For example, if you have described a string parameter with name &amp;lt;code&amp;gt;string1&amp;lt;/code&amp;gt; in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; and presses Apply, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the script.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Description (not a parameter, provides static text)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65605</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=65605"/>
		<updated>2010-11-02T08:43:37Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* notebook */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. To set the number of decimal places, use the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==boolean==&lt;br /&gt;
Gives a '''checkbox'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list. &lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first item is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first option is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
Creates a control to select a '''color'''.&lt;br /&gt;
&lt;br /&gt;
The returned value is a RGBA-value.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65599</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=65599"/>
		<updated>2010-11-02T08:42:24Z</updated>

		<summary type="html">&lt;p&gt;Flor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. To set the number of decimal places, use the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==boolean==&lt;br /&gt;
Gives a '''checkbox'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list. &lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first item is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first option is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
Creates a control to select a '''color'''.&lt;br /&gt;
&lt;br /&gt;
The returned value is a RGBA-value.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65593</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65593"/>
		<updated>2010-11-02T08:40:25Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Script functions ===&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
=== Important Tips ===&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
=== Extension description file ===&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.&lt;br /&gt;
&lt;br /&gt;
The INX file allows you to:&lt;br /&gt;
* Define the script file and other dependencies.&lt;br /&gt;
* List all parameters and their types (to generate an input dialog window).&lt;br /&gt;
* Mark dialog window text for translation.&lt;br /&gt;
* Define an Inkscape menu entry.&lt;br /&gt;
* Chain extensions.&lt;br /&gt;
&lt;br /&gt;
See [[INX extension descriptor format]] for help creating an INX file.&lt;br /&gt;
&lt;br /&gt;
==== Parameters ====&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed to the script as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Specify the script file to be run with the &amp;lt;code&amp;gt;&amp;lt;command&amp;gt;&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
For example, if you have described a string parameter with name &amp;lt;code&amp;gt;string1&amp;lt;/code&amp;gt; in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; and presses Apply, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the script.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Description (not a parameter, provides static text)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65587</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65587"/>
		<updated>2010-11-02T08:39:24Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Script functions ===&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
=== Important Tips ===&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
=== Extension description file ===&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.&lt;br /&gt;
&lt;br /&gt;
The INX file allows you to:&lt;br /&gt;
* Define the script file and other dependencies.&lt;br /&gt;
* List all parameters and their types (to generate an input dialog window).&lt;br /&gt;
* Mark dialog window text for translation.&lt;br /&gt;
* Define an Inkscape menu entry.&lt;br /&gt;
* Chain extensions.&lt;br /&gt;
&lt;br /&gt;
See [[INX extension descriptor format]] for help creating an INX file.&lt;br /&gt;
&lt;br /&gt;
==== Parameters ====&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed to the script as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Specify the script file to be run with the &amp;lt;code&amp;gt;&amp;lt;command&amp;gt;&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
For example, if you have described a string parameter with name &amp;lt;code&amp;gt;string1&amp;lt;/code&amp;gt; in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; and presses Apply, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the script.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Description (not a parameter, provides static text)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[MakingAnINX]]&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65581</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65581"/>
		<updated>2010-11-02T08:38:21Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Script functions ===&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
=== Important Tips ===&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
=== Extension description file ===&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.&lt;br /&gt;
&lt;br /&gt;
The INX file allows you to:&lt;br /&gt;
* Define the script file and other dependencies.&lt;br /&gt;
* List all parameters and their types (to generate an input dialog window).&lt;br /&gt;
* Mark dialog window text for translation.&lt;br /&gt;
* Define an Inkscape menu entry.&lt;br /&gt;
* Chain extensions.&lt;br /&gt;
&lt;br /&gt;
See [[INX extension descriptor format]] for help creating an INX file.&lt;br /&gt;
&lt;br /&gt;
==== Parameters ====&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed through the commandline as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
For example, if you have described a string parameter with name &amp;lt;code&amp;gt;string1&amp;lt;/code&amp;gt; in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; and presses Apply, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the script. Specify the script file to be run with the &amp;lt;code&amp;gt;&amp;lt;command&amp;gt;&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Description (not a parameter, provides static text)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[MakingAnINX]]&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65575</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65575"/>
		<updated>2010-11-02T08:18:03Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Script functions ===&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
=== Important Tips ===&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
=== Extension description file ===&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.&lt;br /&gt;
&lt;br /&gt;
The INX file allows you to:&lt;br /&gt;
* Define the script file and other dependencies.&lt;br /&gt;
* List all parameters and their types (to generate an input dialog window).&lt;br /&gt;
* Mark dialog window text for translation.&lt;br /&gt;
* Define an Inkscape menu entry.&lt;br /&gt;
* Chain extensions.&lt;br /&gt;
&lt;br /&gt;
See [[INX extension descriptor format]] for help creating an INX file.&lt;br /&gt;
&lt;br /&gt;
==== Parameters ====&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed through the commandline as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
For example, if you have described a string parameter with name &amp;lt;code&amp;gt;string1&amp;lt;/code&amp;gt; in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; and presses Apply, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the program specified by the &amp;lt;code&amp;gt;&amp;lt;command&amp;gt;&amp;lt;/code&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Description (not a parameter, provides static text)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[MakingAnINX]]&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65569</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65569"/>
		<updated>2010-11-02T08:12:19Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Extension description file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Script functions ===&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
=== Important Tips ===&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
=== Extension description file ===&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.&lt;br /&gt;
&lt;br /&gt;
The INX file allows you to:&lt;br /&gt;
* Define the script file and other dependencies.&lt;br /&gt;
* List all parameters and their types (to generate an input dialog window).&lt;br /&gt;
* Mark dialog window text for translation.&lt;br /&gt;
* Define an Inkscape menu entry.&lt;br /&gt;
* Chain extensions.&lt;br /&gt;
&lt;br /&gt;
See [[INX extension descriptor format]] for help creating an INX file.&lt;br /&gt;
&lt;br /&gt;
==== Parameters ====&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed through the commandline as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Eg. if you have described a string parameter with name 'string1' in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;quot;text&amp;quot; and presses OK, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the program specified by the &amp;lt;command&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Description (static text)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[MakingAnINX]]&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65563</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65563"/>
		<updated>2010-11-02T08:11:17Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Extension description file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Script functions ===&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
=== Important Tips ===&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
=== Extension description file ===&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.&lt;br /&gt;
&lt;br /&gt;
The INX file allows the author to:&lt;br /&gt;
* Define the script file and other dependencies.&lt;br /&gt;
* List all parameters and their types (this will generate an input dialog window).&lt;br /&gt;
* Mark dialog window text for translation.&lt;br /&gt;
* Define an Inkscape menu entry.&lt;br /&gt;
* Chain extensions.&lt;br /&gt;
&lt;br /&gt;
See [[INX extension descriptor format]] for help creating an INX file.&lt;br /&gt;
&lt;br /&gt;
==== Parameters ====&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed through the commandline as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Eg. if you have described a string parameter with name 'string1' in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;quot;text&amp;quot; and presses OK, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the program specified by the &amp;lt;command&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Description (static text)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[MakingAnINX]]&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65557</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65557"/>
		<updated>2010-11-02T08:06:12Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Extension description file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Script functions ===&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
=== Important Tips ===&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
=== Extension description file ===&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;
Please see [[INX extension descriptor format]] for help creating an INX file for your script.&lt;br /&gt;
&lt;br /&gt;
==== Parameters ====&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed through the commandline as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Eg. if you have described a string parameter with name 'string1' in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;quot;text&amp;quot; and presses OK, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the program specified by the &amp;lt;command&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Description (static text)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[MakingAnINX]]&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65551</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65551"/>
		<updated>2010-11-02T08:04:46Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Types of scripts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Script functions ===&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
=== Important Tips ===&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
=== Extension description file ===&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;
Please see [[MakingAnINX]] for help creating an INX file for your script.&lt;br /&gt;
&lt;br /&gt;
==== Parameters ====&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed through the commandline as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Eg. if you have described a string parameter with name 'string1' in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;quot;text&amp;quot; and presses OK, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the program specified by the &amp;lt;command&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Description (static text)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[MakingAnINX]]&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65539</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65539"/>
		<updated>2010-11-02T07:58:33Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Types of scripts ===&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
=== Important Tips ===&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
=== Extension description file ===&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;
Please see [[MakingAnINX]] for help creating an INX file for your script.&lt;br /&gt;
&lt;br /&gt;
==== Parameters ====&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed through the commandline as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Eg. if you have described a string parameter with name 'string1' in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;quot;text&amp;quot; and presses OK, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the program specified by the &amp;lt;command&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Description (static text)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[MakingAnINX]]&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Talk:INX_extension_descriptor_format&amp;diff=65521</id>
		<title>Talk:INX extension descriptor format</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Talk:INX_extension_descriptor_format&amp;diff=65521"/>
		<updated>2010-11-01T18:30:03Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Relax NG Compact */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Questions related to the recent changes (Relax NG Compact (RNC)):===&lt;br /&gt;
* How does the created Relax NG Compact (RNC) example differ/compare to the [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/annotate/head%3A/share/extensions/inkscape.extension.rng RELAX NG Schema] in trunk?&lt;br /&gt;
* &amp;lt;del&amp;gt;The Example INX file is outdated - the format was slightly changed in 0.47, see revisions [http://bazaar.launchpad.net/%7Einkscape.dev/inkscape/trunk/revision/5472 5472], [http://bazaar.launchpad.net/%7Einkscape.dev/inkscape/trunk/revision/5946 5946] and [http://bazaar.launchpad.net/%7Einkscape.dev/inkscape/trunk/revision/5947 5947]&amp;lt;/del&amp;gt; I added the namespace etc. Does that cover all the changes? --[[User:Flor|Flor]] 18:06, 1 November 2010 (UTC)&lt;br /&gt;
:Additional information (as far as I could find it ;) ): [http://thread.gmane.org/gmane.comp.graphics.inkscape.devel/26105 Subject: Extensions (inx) files] (inkscape-devel mailing list)  &lt;br /&gt;
--[[User:~suv|~suv]] 06:46, 28 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Relax NG Compact ===&lt;br /&gt;
This is what I get when I convert [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/annotate/head%3A/share/extensions/inkscape.extension.rng RELAX NG Schema] to Relax NG Compact with Trang. Is this the right version for the current scheme? --[[User:Flor|Flor]] 18:29, 1 November 2010 (UTC)&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
default namespace =&lt;br /&gt;
  &amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start =&lt;br /&gt;
  element inkscape-extension {&lt;br /&gt;
    element _name { text },&lt;br /&gt;
    element id { text },&lt;br /&gt;
    element dependency {&lt;br /&gt;
      attribute type { inx.dependency-type.values },&lt;br /&gt;
      attribute location { inx.location.values }?,&lt;br /&gt;
      attribute _description { text }?,&lt;br /&gt;
      text&lt;br /&gt;
    }*,&lt;br /&gt;
    (inx.parameters&lt;br /&gt;
     | element param {&lt;br /&gt;
         attribute name { text },&lt;br /&gt;
         attribute type { &amp;quot;notebook&amp;quot; },&lt;br /&gt;
         element page {&lt;br /&gt;
           attribute name { text },&lt;br /&gt;
           attribute _gui-text { text },&lt;br /&gt;
           inx.parameters+&lt;br /&gt;
         }+&lt;br /&gt;
       })*,&lt;br /&gt;
    (element input {&lt;br /&gt;
       inx.io.common,&lt;br /&gt;
       element output_extension { text }?&lt;br /&gt;
     }&lt;br /&gt;
     | element output {&lt;br /&gt;
         inx.io.common,&lt;br /&gt;
         element dataloss { xsd:boolean }?&lt;br /&gt;
       }&lt;br /&gt;
     | element effect {&lt;br /&gt;
         attribute needs-document { xsd:boolean }?,&lt;br /&gt;
         attribute needs-live-preview { xsd:boolean }?,&lt;br /&gt;
         element object-type {&lt;br /&gt;
           xsd:token &amp;quot;all&amp;quot; | xsd:token &amp;quot;path&amp;quot; | xsd:token &amp;quot;rect&amp;quot;&lt;br /&gt;
         },&lt;br /&gt;
         element effects-menu {&lt;br /&gt;
           attribute hidden { xsd:boolean &amp;quot;true&amp;quot; }&lt;br /&gt;
           | element submenu {&lt;br /&gt;
               attribute _name { text },&lt;br /&gt;
               empty&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     | element path-effect { empty }&lt;br /&gt;
     | element print { empty }),&lt;br /&gt;
    (element script {&lt;br /&gt;
       element command {&lt;br /&gt;
         inx.reldir.attr,&lt;br /&gt;
         attribute interpreter { &amp;quot;python&amp;quot; | &amp;quot;perl&amp;quot; }?,&lt;br /&gt;
         text&lt;br /&gt;
       },&lt;br /&gt;
       element helper_extension { xsd:NMTOKEN }?,&lt;br /&gt;
       element check { inx.reldir.attr, text }*&lt;br /&gt;
     }&lt;br /&gt;
     | element xslt {&lt;br /&gt;
         element file { inx.reldir.attr, text }&lt;br /&gt;
       }&lt;br /&gt;
     | element plugin {&lt;br /&gt;
         element name { text }&lt;br /&gt;
       })&lt;br /&gt;
  }&lt;br /&gt;
inx.reldir.attr = attribute reldir { inx.location.values }&lt;br /&gt;
inx.location.values = &amp;quot;extensions&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;plugins&amp;quot;&lt;br /&gt;
inx.dependency-type.values = &amp;quot;extension&amp;quot; | &amp;quot;executable&amp;quot; | &amp;quot;plugin&amp;quot;&lt;br /&gt;
inx.io.common =&lt;br /&gt;
  element extension { text },&lt;br /&gt;
  element mimetype { text },&lt;br /&gt;
  element _filetypename { text }?,&lt;br /&gt;
  element _filetypetooltip { text }?&lt;br /&gt;
inx.parameter =&lt;br /&gt;
  attribute name { xsd:token },&lt;br /&gt;
  attribute gui-hidden { xsd:boolean }?,&lt;br /&gt;
  attribute _gui-text { text }?,&lt;br /&gt;
  ((attribute type { &amp;quot;int&amp;quot; },&lt;br /&gt;
    attribute min { xsd:integer }?,&lt;br /&gt;
    attribute max { xsd:integer }?,&lt;br /&gt;
    (empty | xsd:integer))&lt;br /&gt;
   | (attribute type { &amp;quot;float&amp;quot; },&lt;br /&gt;
      attribute precision { xsd:integer }?,&lt;br /&gt;
      attribute min { xsd:float }?,&lt;br /&gt;
      attribute max { xsd:float }?,&lt;br /&gt;
      xsd:float)&lt;br /&gt;
   | (attribute type { &amp;quot;boolean&amp;quot; },&lt;br /&gt;
      xsd:boolean)&lt;br /&gt;
   | (attribute type { &amp;quot;string&amp;quot; },&lt;br /&gt;
      attribute max_length { xsd:integer }?,&lt;br /&gt;
      (empty | text))&lt;br /&gt;
   | (attribute type { &amp;quot;description&amp;quot; },&lt;br /&gt;
      text)&lt;br /&gt;
   | (attribute type { &amp;quot;enum&amp;quot; },&lt;br /&gt;
      (element _item { inx.parameter.enum.item }&lt;br /&gt;
       | element item { inx.parameter.enum.item })+)&lt;br /&gt;
   | (attribute type { &amp;quot;optiongroup&amp;quot; },&lt;br /&gt;
      attribute appearance { &amp;quot;minimal&amp;quot; }?,&lt;br /&gt;
      (element option { inx.parameter.optiongroup.option }&lt;br /&gt;
       | element _option { inx.parameter.optiongroup.option })+))&lt;br /&gt;
inx.parameters =&lt;br /&gt;
  element param { inx.parameter }&lt;br /&gt;
  | element _param { inx.parameter }&lt;br /&gt;
inx.parameter.enum.item =&lt;br /&gt;
  attribute value { text },&lt;br /&gt;
  xsd:token&lt;br /&gt;
inx.parameter.optiongroup.option =&lt;br /&gt;
  attribute value { text }?,&lt;br /&gt;
  text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Talk:INX_extension_descriptor_format&amp;diff=65515</id>
		<title>Talk:INX extension descriptor format</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Talk:INX_extension_descriptor_format&amp;diff=65515"/>
		<updated>2010-11-01T18:29:47Z</updated>

		<summary type="html">&lt;p&gt;Flor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Questions related to the recent changes (Relax NG Compact (RNC)):===&lt;br /&gt;
* How does the created Relax NG Compact (RNC) example differ/compare to the [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/annotate/head%3A/share/extensions/inkscape.extension.rng RELAX NG Schema] in trunk?&lt;br /&gt;
* &amp;lt;del&amp;gt;The Example INX file is outdated - the format was slightly changed in 0.47, see revisions [http://bazaar.launchpad.net/%7Einkscape.dev/inkscape/trunk/revision/5472 5472], [http://bazaar.launchpad.net/%7Einkscape.dev/inkscape/trunk/revision/5946 5946] and [http://bazaar.launchpad.net/%7Einkscape.dev/inkscape/trunk/revision/5947 5947]&amp;lt;/del&amp;gt; I added the namespace etc. Does that cover all the changes? --[[User:Flor|Flor]] 18:06, 1 November 2010 (UTC)&lt;br /&gt;
:Additional information (as far as I could find it ;) ): [http://thread.gmane.org/gmane.comp.graphics.inkscape.devel/26105 Subject: Extensions (inx) files] (inkscape-devel mailing list)  &lt;br /&gt;
--[[User:~suv|~suv]] 06:46, 28 August 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Relax NG Compact ==&lt;br /&gt;
This is what I get when I convert [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/annotate/head%3A/share/extensions/inkscape.extension.rng RELAX NG Schema] to Relax NG Compact with Trang. Is this the right version for the current scheme? --[[User:Flor|Flor]] 18:29, 1 November 2010 (UTC)&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
default namespace =&lt;br /&gt;
  &amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&lt;br /&gt;
&lt;br /&gt;
start =&lt;br /&gt;
  element inkscape-extension {&lt;br /&gt;
    element _name { text },&lt;br /&gt;
    element id { text },&lt;br /&gt;
    element dependency {&lt;br /&gt;
      attribute type { inx.dependency-type.values },&lt;br /&gt;
      attribute location { inx.location.values }?,&lt;br /&gt;
      attribute _description { text }?,&lt;br /&gt;
      text&lt;br /&gt;
    }*,&lt;br /&gt;
    (inx.parameters&lt;br /&gt;
     | element param {&lt;br /&gt;
         attribute name { text },&lt;br /&gt;
         attribute type { &amp;quot;notebook&amp;quot; },&lt;br /&gt;
         element page {&lt;br /&gt;
           attribute name { text },&lt;br /&gt;
           attribute _gui-text { text },&lt;br /&gt;
           inx.parameters+&lt;br /&gt;
         }+&lt;br /&gt;
       })*,&lt;br /&gt;
    (element input {&lt;br /&gt;
       inx.io.common,&lt;br /&gt;
       element output_extension { text }?&lt;br /&gt;
     }&lt;br /&gt;
     | element output {&lt;br /&gt;
         inx.io.common,&lt;br /&gt;
         element dataloss { xsd:boolean }?&lt;br /&gt;
       }&lt;br /&gt;
     | element effect {&lt;br /&gt;
         attribute needs-document { xsd:boolean }?,&lt;br /&gt;
         attribute needs-live-preview { xsd:boolean }?,&lt;br /&gt;
         element object-type {&lt;br /&gt;
           xsd:token &amp;quot;all&amp;quot; | xsd:token &amp;quot;path&amp;quot; | xsd:token &amp;quot;rect&amp;quot;&lt;br /&gt;
         },&lt;br /&gt;
         element effects-menu {&lt;br /&gt;
           attribute hidden { xsd:boolean &amp;quot;true&amp;quot; }&lt;br /&gt;
           | element submenu {&lt;br /&gt;
               attribute _name { text },&lt;br /&gt;
               empty&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
     | element path-effect { empty }&lt;br /&gt;
     | element print { empty }),&lt;br /&gt;
    (element script {&lt;br /&gt;
       element command {&lt;br /&gt;
         inx.reldir.attr,&lt;br /&gt;
         attribute interpreter { &amp;quot;python&amp;quot; | &amp;quot;perl&amp;quot; }?,&lt;br /&gt;
         text&lt;br /&gt;
       },&lt;br /&gt;
       element helper_extension { xsd:NMTOKEN }?,&lt;br /&gt;
       element check { inx.reldir.attr, text }*&lt;br /&gt;
     }&lt;br /&gt;
     | element xslt {&lt;br /&gt;
         element file { inx.reldir.attr, text }&lt;br /&gt;
       }&lt;br /&gt;
     | element plugin {&lt;br /&gt;
         element name { text }&lt;br /&gt;
       })&lt;br /&gt;
  }&lt;br /&gt;
inx.reldir.attr = attribute reldir { inx.location.values }&lt;br /&gt;
inx.location.values = &amp;quot;extensions&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;plugins&amp;quot;&lt;br /&gt;
inx.dependency-type.values = &amp;quot;extension&amp;quot; | &amp;quot;executable&amp;quot; | &amp;quot;plugin&amp;quot;&lt;br /&gt;
inx.io.common =&lt;br /&gt;
  element extension { text },&lt;br /&gt;
  element mimetype { text },&lt;br /&gt;
  element _filetypename { text }?,&lt;br /&gt;
  element _filetypetooltip { text }?&lt;br /&gt;
inx.parameter =&lt;br /&gt;
  attribute name { xsd:token },&lt;br /&gt;
  attribute gui-hidden { xsd:boolean }?,&lt;br /&gt;
  attribute _gui-text { text }?,&lt;br /&gt;
  ((attribute type { &amp;quot;int&amp;quot; },&lt;br /&gt;
    attribute min { xsd:integer }?,&lt;br /&gt;
    attribute max { xsd:integer }?,&lt;br /&gt;
    (empty | xsd:integer))&lt;br /&gt;
   | (attribute type { &amp;quot;float&amp;quot; },&lt;br /&gt;
      attribute precision { xsd:integer }?,&lt;br /&gt;
      attribute min { xsd:float }?,&lt;br /&gt;
      attribute max { xsd:float }?,&lt;br /&gt;
      xsd:float)&lt;br /&gt;
   | (attribute type { &amp;quot;boolean&amp;quot; },&lt;br /&gt;
      xsd:boolean)&lt;br /&gt;
   | (attribute type { &amp;quot;string&amp;quot; },&lt;br /&gt;
      attribute max_length { xsd:integer }?,&lt;br /&gt;
      (empty | text))&lt;br /&gt;
   | (attribute type { &amp;quot;description&amp;quot; },&lt;br /&gt;
      text)&lt;br /&gt;
   | (attribute type { &amp;quot;enum&amp;quot; },&lt;br /&gt;
      (element _item { inx.parameter.enum.item }&lt;br /&gt;
       | element item { inx.parameter.enum.item })+)&lt;br /&gt;
   | (attribute type { &amp;quot;optiongroup&amp;quot; },&lt;br /&gt;
      attribute appearance { &amp;quot;minimal&amp;quot; }?,&lt;br /&gt;
      (element option { inx.parameter.optiongroup.option }&lt;br /&gt;
       | element _option { inx.parameter.optiongroup.option })+))&lt;br /&gt;
inx.parameters =&lt;br /&gt;
  element param { inx.parameter }&lt;br /&gt;
  | element _param { inx.parameter }&lt;br /&gt;
inx.parameter.enum.item =&lt;br /&gt;
  attribute value { text },&lt;br /&gt;
  xsd:token&lt;br /&gt;
inx.parameter.optiongroup.option =&lt;br /&gt;
  attribute value { text }?,&lt;br /&gt;
  text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Talk:INX_extension_descriptor_format&amp;diff=65509</id>
		<title>Talk:INX extension descriptor format</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Talk:INX_extension_descriptor_format&amp;diff=65509"/>
		<updated>2010-11-01T18:06:47Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Questions related to the recent changes (Relax NG Compact (RNC)): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Questions related to the recent changes (Relax NG Compact (RNC)):===&lt;br /&gt;
* How does the created Relax NG Compact (RNC) example differ/compare to the [http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/annotate/head%3A/share/extensions/inkscape.extension.rng RELAX NG Schema] in trunk?&lt;br /&gt;
* &amp;lt;del&amp;gt;The Example INX file is outdated - the format was slightly changed in 0.47, see revisions [http://bazaar.launchpad.net/%7Einkscape.dev/inkscape/trunk/revision/5472 5472], [http://bazaar.launchpad.net/%7Einkscape.dev/inkscape/trunk/revision/5946 5946] and [http://bazaar.launchpad.net/%7Einkscape.dev/inkscape/trunk/revision/5947 5947]&amp;lt;/del&amp;gt; I added the namespace etc. Does that cover all the changes? --[[User:Flor|Flor]] 18:06, 1 November 2010 (UTC)&lt;br /&gt;
:Additional information (as far as I could find it ;) ): [http://thread.gmane.org/gmane.comp.graphics.inkscape.devel/26105 Subject: Extensions (inx) files] (inkscape-devel mailing list)  &lt;br /&gt;
--[[User:~suv|~suv]] 06:46, 28 August 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=65503</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=65503"/>
		<updated>2010-11-01T17:56:16Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Relax NG Compact (RNC) */&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 parameters has to have &amp;quot;_&amp;quot; prepended to their name, e.g. &amp;lt;tt&amp;gt;&amp;lt;_name&amp;gt;name of extension&amp;lt;/_name&amp;gt;&amp;lt;/tt&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;
Useful 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;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&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;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DTD ==&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;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 effect needs-live-preview (true|false) #REQUIRED&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;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Relax NG Compact (RNC) ==&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
datatypes xs		= 'http://www.w3.org/2001/XMLSchema-datatypes'&lt;br /&gt;
namespace inkscape	= 'http://www.inkscape.org/namespaces/inkscape'&lt;br /&gt;
default namespace local	= ''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#	Initially created from a Trang conversion. &lt;br /&gt;
#	Edited for readability.&lt;br /&gt;
#	&lt;br /&gt;
#	@author	Zearin&lt;br /&gt;
#	@date	2010-07-21T11:02:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
start = inkscape-extension&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
#	ELEMENTS&lt;br /&gt;
#===============================================================================&lt;br /&gt;
inkscape-extension =&lt;br /&gt;
    element inkscape-extension &lt;br /&gt;
    {&lt;br /&gt;
        name,&lt;br /&gt;
        id,&lt;br /&gt;
        dependency*,&lt;br /&gt;
        param*,&lt;br /&gt;
        (input | output | effect),&lt;br /&gt;
        (script | plugin)&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
input =&lt;br /&gt;
    element input &lt;br /&gt;
    {&lt;br /&gt;
        extension,&lt;br /&gt;
        mimetype,&lt;br /&gt;
        filetype,&lt;br /&gt;
        filetypetooltip,&lt;br /&gt;
        output_extension?&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
output =&lt;br /&gt;
    element output &lt;br /&gt;
    {&lt;br /&gt;
        extension,&lt;br /&gt;
        mimetype,&lt;br /&gt;
        filetype,&lt;br /&gt;
        filetypetooltip,&lt;br /&gt;
        dataloss?&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
effect		= element effect		{ attlist.effect, (object-type | submenu?) }&lt;br /&gt;
script		= element script		{ command, helper_extension*, check* }&lt;br /&gt;
plugin		= element plugin		{ name }&lt;br /&gt;
name		= element name			{ text }&lt;br /&gt;
id		= element id			{ text }&lt;br /&gt;
item		= element item			{ text }&lt;br /&gt;
option		= element option		{ text }&lt;br /&gt;
dependency	= element dependency	{ attlist.dependency, text }&lt;br /&gt;
param		= element param			{ attlist.param, (text | page | item | option)* }&lt;br /&gt;
page		= element page			{text, param*}&lt;br /&gt;
extension	= element extension		{ text }&lt;br /&gt;
mimetype	= element mimetype		{ text }&lt;br /&gt;
filetype	= element filetype		{ text }&lt;br /&gt;
filetooltip	= element filetooltip	{ text }&lt;br /&gt;
object-type	= element object-type	{ text }&lt;br /&gt;
command		= element command		{ attlist.command, text }&lt;br /&gt;
check		= element check			{ attlist.check, text }&lt;br /&gt;
dataloss	= element dataloss		{ text }&lt;br /&gt;
helper_extension= element helper_extension	{ text }&lt;br /&gt;
output_extension= element output_extension	{ text }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
#	ATTRIBUTE LISTS&lt;br /&gt;
#===============================================================================&lt;br /&gt;
attlist.check =&lt;br /&gt;
    attribute reldir { &amp;quot;absolute&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;extensions&amp;quot; | &amp;quot;plugins&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
attlist.command =&lt;br /&gt;
(&lt;br /&gt;
    attribute reldir { &amp;quot;absolute&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;extensions&amp;quot; | &amp;quot;plugins&amp;quot; },&lt;br /&gt;
    attribute interpreter { text }&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.dependency = &lt;br /&gt;
(&lt;br /&gt;
    attribute type { &amp;quot;executable&amp;quot; | &amp;quot;extension&amp;quot; },&lt;br /&gt;
    attribute location { &amp;quot;absolute&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;extensions&amp;quot; | &amp;quot;plugins&amp;quot; }?,&lt;br /&gt;
    attribute description { text }?&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.effect = &lt;br /&gt;
    attribute needs-live-preview { &amp;quot;true&amp;quot; | &amp;quot;false&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
attlist.page = &lt;br /&gt;
(&lt;br /&gt;
    attribute name { text },&lt;br /&gt;
    attribute gui-text { text }?&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.param =&lt;br /&gt;
(&lt;br /&gt;
    attribute name { text },&lt;br /&gt;
    attribute type {&lt;br /&gt;
        &amp;quot;int&amp;quot;&lt;br /&gt;
        | &amp;quot;float&amp;quot;&lt;br /&gt;
        | &amp;quot;string&amp;quot;&lt;br /&gt;
        | &amp;quot;boolean&amp;quot;&lt;br /&gt;
        | &amp;quot;enum&amp;quot;&lt;br /&gt;
        | &amp;quot;notebook&amp;quot;&lt;br /&gt;
        | &amp;quot;description&amp;quot;&lt;br /&gt;
        | &amp;quot;optiongroup&amp;quot;&lt;br /&gt;
        | &amp;quot;color&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    attribute min { text }?,&lt;br /&gt;
    attribute max { text }?,&lt;br /&gt;
    attribute max_length { text }?,&lt;br /&gt;
    attribute precision { text }?,&lt;br /&gt;
    attribute gui-text { text }?,&lt;br /&gt;
    attribute gui-tip { text }?,&lt;br /&gt;
    attribute gui-description { text }?,&lt;br /&gt;
    attribute scope { text }?,&lt;br /&gt;
    attribute gui-hidden { text }?,&lt;br /&gt;
    attribute appearance {'minimal'|''}&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.submenu = attribute name { text }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
#	MISC&lt;br /&gt;
#===============================================================================&lt;br /&gt;
filetypetooltip |= notAllowed&lt;br /&gt;
page |= notAllowed&lt;br /&gt;
submenu |= notAllowed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=65497</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=65497"/>
		<updated>2010-11-01T17:55:17Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Relax NG Compact (RNC) */&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 parameters has to have &amp;quot;_&amp;quot; prepended to their name, e.g. &amp;lt;tt&amp;gt;&amp;lt;_name&amp;gt;name of extension&amp;lt;/_name&amp;gt;&amp;lt;/tt&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;
Useful 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;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&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;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DTD ==&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;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 effect needs-live-preview (true|false) #REQUIRED&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;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Relax NG Compact (RNC) ==&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
datatypes xs		= 'http://www.w3.org/2001/XMLSchema-datatypes'&lt;br /&gt;
namespace inkscape	= 'http://www.inkscape.org/namespaces/inkscape'&lt;br /&gt;
default namespace local	= ''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#	Initially created from a Trang conversion. &lt;br /&gt;
#	Edited for readability.&lt;br /&gt;
#	&lt;br /&gt;
#	@author	Zearin&lt;br /&gt;
#	@date	2010-07-21T11:02:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
start = inkscape-extension&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
#	ELEMENTS&lt;br /&gt;
#===============================================================================&lt;br /&gt;
inkscape-extension =&lt;br /&gt;
    element inkscape-extension &lt;br /&gt;
    {&lt;br /&gt;
        name,&lt;br /&gt;
        id,&lt;br /&gt;
        dependency*,&lt;br /&gt;
        param*,&lt;br /&gt;
        (input | output | effect),&lt;br /&gt;
        (script | plugin)&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
input =&lt;br /&gt;
    element input &lt;br /&gt;
    {&lt;br /&gt;
        extension,&lt;br /&gt;
        mimetype,&lt;br /&gt;
        filetype,&lt;br /&gt;
        filetypetooltip,&lt;br /&gt;
        output_extension?&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
output =&lt;br /&gt;
    element output &lt;br /&gt;
    {&lt;br /&gt;
        extension,&lt;br /&gt;
        mimetype,&lt;br /&gt;
        filetype,&lt;br /&gt;
        filetypetooltip,&lt;br /&gt;
        dataloss?&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
effect		= element effect		{ attlist.effect, (object-type | submenu?) }&lt;br /&gt;
script		= element script		{ command, helper_extension*, check* }&lt;br /&gt;
plugin		= element plugin		{ name }&lt;br /&gt;
name		= element name			{ text }&lt;br /&gt;
id		= element id			{ text }&lt;br /&gt;
item		= element item			{ text }&lt;br /&gt;
option		= element option		{ text }&lt;br /&gt;
dependency	= element dependency	{ attlist.dependency, text }&lt;br /&gt;
param		= element param			{ attlist.param, (text | page | item | option)* }&lt;br /&gt;
page		= element page			{text, param*}&lt;br /&gt;
extension	= element extension		{ text }&lt;br /&gt;
mimetype	= element mimetype		{ text }&lt;br /&gt;
filetype	= element filetype		{ text }&lt;br /&gt;
filetooltip	= element filetooltip	{ text }&lt;br /&gt;
object-type	= element object-type	{ text }&lt;br /&gt;
command		= element command		{ attlist.command, text }&lt;br /&gt;
check		= element check			{ attlist.check, text }&lt;br /&gt;
dataloss	= element dataloss		{ text }&lt;br /&gt;
helper_extension= element helper_extension	{ text }&lt;br /&gt;
output_extension= element output_extension	{ text }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
#	ATTRIBUTE LISTS&lt;br /&gt;
#===============================================================================&lt;br /&gt;
attlist.check =&lt;br /&gt;
    attribute reldir { &amp;quot;absolute&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;extensions&amp;quot; | &amp;quot;plugins&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
attlist.command =&lt;br /&gt;
(&lt;br /&gt;
    attribute reldir { &amp;quot;absolute&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;extensions&amp;quot; | &amp;quot;plugins&amp;quot; },&lt;br /&gt;
    attribute interpreter { text }&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.dependency = &lt;br /&gt;
(&lt;br /&gt;
	attribute type { &amp;quot;executable&amp;quot; | &amp;quot;extension&amp;quot; },&lt;br /&gt;
    attribute location { &amp;quot;absolute&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;extensions&amp;quot; | &amp;quot;plugins&amp;quot; }?,&lt;br /&gt;
    attribute description { text }?&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.effect = &lt;br /&gt;
	attribute needs-live-preview { &amp;quot;true&amp;quot; | &amp;quot;false&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
attlist.page = &lt;br /&gt;
(&lt;br /&gt;
	attribute name { text },&lt;br /&gt;
    attribute gui-text { text }?&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.param =&lt;br /&gt;
(&lt;br /&gt;
	attribute name { text },&lt;br /&gt;
    attribute type {&lt;br /&gt;
        &amp;quot;int&amp;quot;&lt;br /&gt;
        | &amp;quot;float&amp;quot;&lt;br /&gt;
        | &amp;quot;string&amp;quot;&lt;br /&gt;
        | &amp;quot;boolean&amp;quot;&lt;br /&gt;
        | &amp;quot;enum&amp;quot;&lt;br /&gt;
        | &amp;quot;notebook&amp;quot;&lt;br /&gt;
        | &amp;quot;description&amp;quot;&lt;br /&gt;
        | &amp;quot;optiongroup&amp;quot;&lt;br /&gt;
        | &amp;quot;color&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    attribute min { text }?,&lt;br /&gt;
    attribute max { text }?,&lt;br /&gt;
    attribute max_length { text }?,&lt;br /&gt;
    attribute precision { text }?,&lt;br /&gt;
    attribute gui-text { text }?,&lt;br /&gt;
    attribute gui-tip { text }?,&lt;br /&gt;
    attribute gui-description { text }?,&lt;br /&gt;
    attribute scope { text }?,&lt;br /&gt;
    attribute gui-hidden { text }?,&lt;br /&gt;
    attribute appearance {'minimal'|''}&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.submenu = attribute name { text }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
#	MISC&lt;br /&gt;
#===============================================================================&lt;br /&gt;
filetypetooltip |= notAllowed&lt;br /&gt;
page |= notAllowed&lt;br /&gt;
submenu |= notAllowed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=INX_extension_descriptor_format&amp;diff=65491</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=65491"/>
		<updated>2010-11-01T17:54:23Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Example */&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 parameters has to have &amp;quot;_&amp;quot; prepended to their name, e.g. &amp;lt;tt&amp;gt;&amp;lt;_name&amp;gt;name of extension&amp;lt;/_name&amp;gt;&amp;lt;/tt&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;
Useful 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;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&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;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DTD ==&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;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 effect needs-live-preview (true|false) #REQUIRED&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;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Relax NG Compact (RNC) ==&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
datatypes xs		= 'http://www.w3.org/2001/XMLSchema-datatypes'&lt;br /&gt;
namespace inkscape	= 'http://www.inkscape.org/namespaces/inkscape'&lt;br /&gt;
default namespace local		= ''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#	Initially created from a Trang conversion. &lt;br /&gt;
#	Edited for readability.&lt;br /&gt;
#	&lt;br /&gt;
#	@author	Zearin&lt;br /&gt;
#	@date	2010-07-21T11:02:00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
start = inkscape-extension&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
#	ELEMENTS&lt;br /&gt;
#===============================================================================&lt;br /&gt;
inkscape-extension =&lt;br /&gt;
    element inkscape-extension &lt;br /&gt;
    {&lt;br /&gt;
        name,&lt;br /&gt;
        id,&lt;br /&gt;
        dependency*,&lt;br /&gt;
        param*,&lt;br /&gt;
        (input | output | effect),&lt;br /&gt;
        (script | plugin)&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
input =&lt;br /&gt;
    element input &lt;br /&gt;
    {&lt;br /&gt;
        extension,&lt;br /&gt;
        mimetype,&lt;br /&gt;
        filetype,&lt;br /&gt;
        filetypetooltip,&lt;br /&gt;
        output_extension?&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
output =&lt;br /&gt;
    element output &lt;br /&gt;
    {&lt;br /&gt;
        extension,&lt;br /&gt;
        mimetype,&lt;br /&gt;
        filetype,&lt;br /&gt;
        filetypetooltip,&lt;br /&gt;
        dataloss?&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
effect		= element effect		{ attlist.effect, (object-type | submenu?) }&lt;br /&gt;
script		= element script		{ command, helper_extension*, check* }&lt;br /&gt;
plugin		= element plugin		{ name }&lt;br /&gt;
name		= element name			{ text }&lt;br /&gt;
id			= element id			{ text }&lt;br /&gt;
item		= element item			{ text }&lt;br /&gt;
option		= element option		{ text }&lt;br /&gt;
dependency	= element dependency	{ attlist.dependency, text }&lt;br /&gt;
param		= element param			{ attlist.param, (text | page | item | option)* }&lt;br /&gt;
page		= element page			{text, param*}&lt;br /&gt;
extension	= element extension		{ text }&lt;br /&gt;
mimetype	= element mimetype		{ text }&lt;br /&gt;
filetype	= element filetype		{ text }&lt;br /&gt;
filetooltip	= element filetooltip	{ text }&lt;br /&gt;
object-type	= element object-type	{ text }&lt;br /&gt;
command		= element command		{ attlist.command, text }&lt;br /&gt;
check		= element check			{ attlist.check, text }&lt;br /&gt;
dataloss	= element dataloss		{ text }&lt;br /&gt;
helper_extension	= element helper_extension	{ text }&lt;br /&gt;
output_extension	= element output_extension	{ text }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
#	ATTRIBUTE LISTS&lt;br /&gt;
#===============================================================================&lt;br /&gt;
attlist.check =&lt;br /&gt;
    attribute reldir { &amp;quot;absolute&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;extensions&amp;quot; | &amp;quot;plugins&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
attlist.command =&lt;br /&gt;
(&lt;br /&gt;
    attribute reldir { &amp;quot;absolute&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;extensions&amp;quot; | &amp;quot;plugins&amp;quot; },&lt;br /&gt;
    attribute interpreter { text }&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.dependency = &lt;br /&gt;
(&lt;br /&gt;
	attribute type { &amp;quot;executable&amp;quot; | &amp;quot;extension&amp;quot; },&lt;br /&gt;
    attribute location { &amp;quot;absolute&amp;quot; | &amp;quot;path&amp;quot; | &amp;quot;extensions&amp;quot; | &amp;quot;plugins&amp;quot; }?,&lt;br /&gt;
    attribute description { text }?&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.effect = &lt;br /&gt;
	attribute needs-live-preview { &amp;quot;true&amp;quot; | &amp;quot;false&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
attlist.page = &lt;br /&gt;
(&lt;br /&gt;
	attribute name { text },&lt;br /&gt;
    attribute gui-text { text }?&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.param =&lt;br /&gt;
(&lt;br /&gt;
	attribute name { text },&lt;br /&gt;
    attribute type {&lt;br /&gt;
        &amp;quot;int&amp;quot;&lt;br /&gt;
        | &amp;quot;float&amp;quot;&lt;br /&gt;
        | &amp;quot;string&amp;quot;&lt;br /&gt;
        | &amp;quot;boolean&amp;quot;&lt;br /&gt;
        | &amp;quot;enum&amp;quot;&lt;br /&gt;
        | &amp;quot;notebook&amp;quot;&lt;br /&gt;
        | &amp;quot;description&amp;quot;&lt;br /&gt;
        | &amp;quot;optiongroup&amp;quot;&lt;br /&gt;
        | &amp;quot;color&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    attribute min { text }?,&lt;br /&gt;
    attribute max { text }?,&lt;br /&gt;
    attribute max_length { text }?,&lt;br /&gt;
    attribute precision { text }?,&lt;br /&gt;
    attribute gui-text { text }?,&lt;br /&gt;
    attribute gui-tip { text }?,&lt;br /&gt;
    attribute gui-description { text }?,&lt;br /&gt;
    attribute scope { text }?,&lt;br /&gt;
    attribute gui-hidden { text }?,&lt;br /&gt;
    attribute appearance {'minimal'|''}&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
attlist.submenu = attribute name { text }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
#	MISC&lt;br /&gt;
#===============================================================================&lt;br /&gt;
filetypetooltip |= notAllowed&lt;br /&gt;
page |= notAllowed&lt;br /&gt;
submenu |= notAllowed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/small&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Talk:Inkscape&amp;diff=65485</id>
		<title>Talk:Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Talk:Inkscape&amp;diff=65485"/>
		<updated>2010-11-01T11:17:39Z</updated>

		<summary type="html">&lt;p&gt;Flor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* The [[Working with SVN]] link must be removed from the front page and consider to remove the refereed svn page from this wiki.&lt;br /&gt;
* Can we move the [[INX extension descriptor format]] link to Developer tutorials &amp;gt; Extensions, please?&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions&amp;diff=65479</id>
		<title>Extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions&amp;diff=65479"/>
		<updated>2010-11-01T11:02:50Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended as a guide for providing new extensions for Inkscape. Currently the majority of extensions are provided as python scripts.&lt;br /&gt;
&lt;br /&gt;
==Extension types==&lt;br /&gt;
The following extension types exist for Inkscape:&lt;br /&gt;
* '''input'''&lt;br /&gt;
* '''output'''&lt;br /&gt;
* '''effect'''&lt;br /&gt;
* '''print'''&lt;br /&gt;
* '''''path-effect''''' - path effects are '''not''' currently implemented as extension but there is intention to migrate those over as entensions&lt;br /&gt;
&lt;br /&gt;
See also: [[Script extensions]]&lt;br /&gt;
&lt;br /&gt;
==Extension implementation==&lt;br /&gt;
* Internal&lt;br /&gt;
** C++ implementation (directly in code)&lt;br /&gt;
* External&lt;br /&gt;
** '''scripts''' - written in '''python''', '''perl''' or as system (console) scripts&lt;br /&gt;
** '''xslt transformations'''&lt;br /&gt;
** '''plugins''' - ''not fully implemented yet''&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
Extensions can be supplied with values obtained through easily definable parameters. Inkscape provides the basic GUI for user input. The following parameters are supported:&lt;br /&gt;
* '''integer'''&lt;br /&gt;
* '''string'''&lt;br /&gt;
* '''float'''&lt;br /&gt;
* '''boolean'''&lt;br /&gt;
* '''enum'''&lt;br /&gt;
* '''optiongroup'''&lt;br /&gt;
* '''colour'''&lt;br /&gt;
&lt;br /&gt;
For the sake of the UI there are also the following two parameters that do not provide data to the extension but alter the user input GUI.&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''notebook'''&lt;br /&gt;
&lt;br /&gt;
See also: [[INX Parameters]]&lt;br /&gt;
&lt;br /&gt;
==Extension Definition File (INX)==&lt;br /&gt;
All extensions are defined through Inkscape Extension Definition Files (.inx) which are XML files in the &amp;lt;pre&amp;gt;http://www.inkscape.org/namespace/inkscape/extension&amp;lt;/pre&amp;gt; namespace and described by the [http://relaxng.org/ Relax NG] available [here]&lt;br /&gt;
===Structure===&lt;br /&gt;
===Examples===&lt;br /&gt;
====RadioButton example====&lt;br /&gt;
The following mark-up:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;_name&amp;gt;RadioButton example&amp;lt;/_name&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;org.inkscape.effect.radiobuttontest&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;radio1&amp;quot; type=&amp;quot;optiongroup&amp;quot; _gui-text=&amp;quot;Select option: &amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string1&amp;quot;&amp;gt;translatable string 1&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string2&amp;quot;&amp;gt;string 2&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string3&amp;quot;&amp;gt;test 3!&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;/param&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;radio2&amp;quot; type=&amp;quot;optiongroup&amp;quot; _gui-text=&amp;quot;Select second option: &amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string11&amp;quot;&amp;gt;string1&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string22&amp;quot;&amp;gt;string2&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option&amp;gt;test3!&amp;lt;/option&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&amp;lt;/object-type&amp;gt;&lt;br /&gt;
    &amp;lt;effects-menu&amp;gt;&lt;br /&gt;
      &amp;lt;submenu _name=&amp;quot;Developer Examples&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/effects-menu&amp;gt;&lt;br /&gt;
  &amp;lt;/effect&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/inkscape-extension&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Will result in the following GUI being created:&lt;br /&gt;
&lt;br /&gt;
[[Image:Extensions-radiobutton_gui_example.png]]&lt;br /&gt;
&lt;br /&gt;
===i18n===&lt;br /&gt;
To allow the .inx files to fit snugly into Inkscape's i18n infrastructure some XML elements and attributes are prefixed with an underscore (_) character to indicate that the containing text should be marked for translation.&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions&amp;diff=65473</id>
		<title>Extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions&amp;diff=65473"/>
		<updated>2010-11-01T11:02:31Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Extension types */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended as a guide for providing new extensions for Inkscape. Currently the majority of extensions are provided as python scripts.&lt;br /&gt;
&lt;br /&gt;
==Extension types==&lt;br /&gt;
The following extension types exist for Inkscape:&lt;br /&gt;
* '''input'''&lt;br /&gt;
* '''output'''&lt;br /&gt;
* '''effect'''&lt;br /&gt;
* '''print'''&lt;br /&gt;
* '''''path-effect''''' - path effects are '''not''' currently implemented as extension but there is intention to migrate those over as entensions&lt;br /&gt;
&lt;br /&gt;
See also: [[Script extensions]]&lt;br /&gt;
&lt;br /&gt;
==Extension implementation==&lt;br /&gt;
* Internal&lt;br /&gt;
** C++ implementation (directly in code)&lt;br /&gt;
* External&lt;br /&gt;
** '''scripts''' - written in '''python''', '''perl''' or as system (console) scripts&lt;br /&gt;
** '''xslt transformations'''&lt;br /&gt;
** '''plugins''' - ''not fully implemented yet''&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
Extensions can be supplied with values obtained through easily definable parameters. Inkscape provides the basic GUI for user input. The following parameters are supported:&lt;br /&gt;
* '''integer'''&lt;br /&gt;
* '''string'''&lt;br /&gt;
* '''float'''&lt;br /&gt;
* '''boolean'''&lt;br /&gt;
* '''enum'''&lt;br /&gt;
* '''optiongroup'''&lt;br /&gt;
* '''colour'''&lt;br /&gt;
&lt;br /&gt;
For the sake of the UI there are also the following two parameters that do not provide data to the extension but alter the user input GUI.&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''notebook'''&lt;br /&gt;
&lt;br /&gt;
See also [[INX Parameters]]&lt;br /&gt;
&lt;br /&gt;
==Extension Definition File (INX)==&lt;br /&gt;
All extensions are defined through Inkscape Extension Definition Files (.inx) which are XML files in the &amp;lt;pre&amp;gt;http://www.inkscape.org/namespace/inkscape/extension&amp;lt;/pre&amp;gt; namespace and described by the [http://relaxng.org/ Relax NG] available [here]&lt;br /&gt;
===Structure===&lt;br /&gt;
===Examples===&lt;br /&gt;
====RadioButton example====&lt;br /&gt;
The following mark-up:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;_name&amp;gt;RadioButton example&amp;lt;/_name&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;org.inkscape.effect.radiobuttontest&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;radio1&amp;quot; type=&amp;quot;optiongroup&amp;quot; _gui-text=&amp;quot;Select option: &amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string1&amp;quot;&amp;gt;translatable string 1&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string2&amp;quot;&amp;gt;string 2&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string3&amp;quot;&amp;gt;test 3!&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;/param&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;radio2&amp;quot; type=&amp;quot;optiongroup&amp;quot; _gui-text=&amp;quot;Select second option: &amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string11&amp;quot;&amp;gt;string1&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string22&amp;quot;&amp;gt;string2&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option&amp;gt;test3!&amp;lt;/option&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&amp;lt;/object-type&amp;gt;&lt;br /&gt;
    &amp;lt;effects-menu&amp;gt;&lt;br /&gt;
      &amp;lt;submenu _name=&amp;quot;Developer Examples&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/effects-menu&amp;gt;&lt;br /&gt;
  &amp;lt;/effect&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/inkscape-extension&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Will result in the following GUI being created:&lt;br /&gt;
&lt;br /&gt;
[[Image:Extensions-radiobutton_gui_example.png]]&lt;br /&gt;
&lt;br /&gt;
===i18n===&lt;br /&gt;
To allow the .inx files to fit snugly into Inkscape's i18n infrastructure some XML elements and attributes are prefixed with an underscore (_) character to indicate that the containing text should be marked for translation.&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions&amp;diff=65467</id>
		<title>Extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extensions&amp;diff=65467"/>
		<updated>2010-11-01T11:01:09Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended as a guide for providing new extensions for Inkscape. Currently the majority of extensions are provided as python scripts.&lt;br /&gt;
&lt;br /&gt;
==Extension types==&lt;br /&gt;
The following extension types exist for Inkscape:&lt;br /&gt;
* '''input'''&lt;br /&gt;
* '''output'''&lt;br /&gt;
* '''effect'''&lt;br /&gt;
* '''print'''&lt;br /&gt;
* '''''path-effect''''' - path effects are '''not''' currently implemented as extension but there is intention to migrate those over as entensions&lt;br /&gt;
&lt;br /&gt;
==Extension implementation==&lt;br /&gt;
* Internal&lt;br /&gt;
** C++ implementation (directly in code)&lt;br /&gt;
* External&lt;br /&gt;
** '''scripts''' - written in '''python''', '''perl''' or as system (console) scripts&lt;br /&gt;
** '''xslt transformations'''&lt;br /&gt;
** '''plugins''' - ''not fully implemented yet''&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
Extensions can be supplied with values obtained through easily definable parameters. Inkscape provides the basic GUI for user input. The following parameters are supported:&lt;br /&gt;
* '''integer'''&lt;br /&gt;
* '''string'''&lt;br /&gt;
* '''float'''&lt;br /&gt;
* '''boolean'''&lt;br /&gt;
* '''enum'''&lt;br /&gt;
* '''optiongroup'''&lt;br /&gt;
* '''colour'''&lt;br /&gt;
&lt;br /&gt;
For the sake of the UI there are also the following two parameters that do not provide data to the extension but alter the user input GUI.&lt;br /&gt;
* '''description'''&lt;br /&gt;
* '''notebook'''&lt;br /&gt;
&lt;br /&gt;
See also [[INX Parameters]]&lt;br /&gt;
&lt;br /&gt;
==Extension Definition File (INX)==&lt;br /&gt;
All extensions are defined through Inkscape Extension Definition Files (.inx) which are XML files in the &amp;lt;pre&amp;gt;http://www.inkscape.org/namespace/inkscape/extension&amp;lt;/pre&amp;gt; namespace and described by the [http://relaxng.org/ Relax NG] available [here]&lt;br /&gt;
===Structure===&lt;br /&gt;
===Examples===&lt;br /&gt;
====RadioButton example====&lt;br /&gt;
The following mark-up:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;inkscape-extension xmlns=&amp;quot;http://www.inkscape.org/namespace/inkscape/extension&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;_name&amp;gt;RadioButton example&amp;lt;/_name&amp;gt;&lt;br /&gt;
  &amp;lt;id&amp;gt;org.inkscape.effect.radiobuttontest&amp;lt;/id&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;radio1&amp;quot; type=&amp;quot;optiongroup&amp;quot; _gui-text=&amp;quot;Select option: &amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string1&amp;quot;&amp;gt;translatable string 1&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string2&amp;quot;&amp;gt;string 2&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string3&amp;quot;&amp;gt;test 3!&amp;lt;/option&amp;gt;&lt;br /&gt;
  &amp;lt;/param&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;radio2&amp;quot; type=&amp;quot;optiongroup&amp;quot; _gui-text=&amp;quot;Select second option: &amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string11&amp;quot;&amp;gt;string1&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;string22&amp;quot;&amp;gt;string2&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option&amp;gt;test3!&amp;lt;/option&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&amp;lt;/object-type&amp;gt;&lt;br /&gt;
    &amp;lt;effects-menu&amp;gt;&lt;br /&gt;
      &amp;lt;submenu _name=&amp;quot;Developer Examples&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/effects-menu&amp;gt;&lt;br /&gt;
  &amp;lt;/effect&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/inkscape-extension&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Will result in the following GUI being created:&lt;br /&gt;
&lt;br /&gt;
[[Image:Extensions-radiobutton_gui_example.png]]&lt;br /&gt;
&lt;br /&gt;
===i18n===&lt;br /&gt;
To allow the .inx files to fit snugly into Inkscape's i18n infrastructure some XML elements and attributes are prefixed with an underscore (_) character to indicate that the containing text should be marked for translation.&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65461</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=65461"/>
		<updated>2010-11-01T10:00:42Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* color */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. To set the number of decimal places, use the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==boolean==&lt;br /&gt;
Gives a '''checkbox'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list. &lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first item is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first option is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
Creates a control to select a '''color'''.&lt;br /&gt;
&lt;br /&gt;
The returned value is a RGBA-value.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65455</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=65455"/>
		<updated>2010-11-01T09:59:54Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* color */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. To set the number of decimal places, use the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==boolean==&lt;br /&gt;
Gives a '''checkbox'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list. &lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first item is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first option is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
Creates a control to select a '''color'''.&lt;br /&gt;
&lt;br /&gt;
The returned value is a RGBA-value.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;color&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65449</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=65449"/>
		<updated>2010-11-01T09:48:51Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* float */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. To set the number of decimal places, use the &amp;lt;code&amp;gt;precision&amp;lt;/code&amp;gt; attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==boolean==&lt;br /&gt;
Gives a '''checkbox'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list. &lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first item is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first option is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
''??''&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65443</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=65443"/>
		<updated>2010-11-01T09:48:24Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* float */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==boolean==&lt;br /&gt;
Gives a '''checkbox'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list. &lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first item is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first option is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
''??''&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65437</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=65437"/>
		<updated>2010-11-01T09:47:41Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* int */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the &amp;lt;code&amp;gt;min&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;max&amp;lt;/code&amp;gt; attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==boolean==&lt;br /&gt;
Gives a '''checkbox'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list. &lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first item is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first option is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
''??''&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65431</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=65431"/>
		<updated>2010-11-01T09:45:48Z</updated>

		<summary type="html">&lt;p&gt;Flor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Use parameter elements to capture user input for further use by a script. The basic structure of the element is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;some_type&amp;quot;&amp;gt;default value&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default value is the value that is shown in the input control the first time the user opens the dialog window. Inkscape automatically displays the values used last time when the dialog window is opened again.&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==boolean==&lt;br /&gt;
Gives a '''checkbox'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list. &lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first item is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first option is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
''??''&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65425</id>
		<title>Script extensions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Script_extensions&amp;diff=65425"/>
		<updated>2010-11-01T09:24:31Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[Note: This page concerns using scripting languages to create new Inkscape functionality.  To access Inkscape functionality from scripting languages (i.e. to script Inkscape), see the Inkscape man page (especially in the development version or v0.46 or later, which provide --select and --verb options), or see the work in the src/extension/script directory of Inkscape source.]&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
Traditional unix scripts can be used to extend Inkscape's functionality. &lt;br /&gt;
Such programs read a stream of data on standard input, transform the data in some way, and then write the modified data to standard output. This is an easy way to expand Inkscape and provide custom functionality without learning the internals of Inkscape. Libraries for reading and writing SVG data exist for many programming languages, and most provide support for XML.  This HOWTO describes the &amp;quot;ins and outs&amp;quot; of writing one of these scripts and making it work with Inkscape's core functionality.&lt;br /&gt;
&lt;br /&gt;
=== Types of scripts ===&lt;br /&gt;
&lt;br /&gt;
There are three kinds of functions that can be added with a script:&lt;br /&gt;
&lt;br /&gt;
* Input, providing translation from a file format to SVG&lt;br /&gt;
* Output, providing translation from SVG to a format&lt;br /&gt;
* Effect, taking in SVG, changing it, and then outputing SVG&lt;br /&gt;
&lt;br /&gt;
While all of these are very similar in the scripting interface, there are slight differences between them.&lt;br /&gt;
&lt;br /&gt;
=== Interaction ===&lt;br /&gt;
&lt;br /&gt;
It is important for a script author to understand how Inkscape and scripts communicate.&lt;br /&gt;
&lt;br /&gt;
(interpreter)? your_script (--param=value)* /path/to/input[[/SVGfile]] | inkscape&lt;br /&gt;
&lt;br /&gt;
Inkscape runs your script (optionally with an interpreter) passing it any number of parameters in long gnu style. The final argument is the name of the temporary svg file your script should read. After processing, the script should return the modified svg file to inkscape on STDOUT.&lt;br /&gt;
&lt;br /&gt;
=== Important Tips ===&lt;br /&gt;
&lt;br /&gt;
* Receive the inkscape arguments.&lt;br /&gt;
* Clear temp files if it creates one.&lt;br /&gt;
* Write full changed SVG to the default output.&lt;br /&gt;
* Don't break an xml:space=&amp;quot;preserve&amp;quot; area.&lt;br /&gt;
* Send error text to the error output and help the user.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&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;
Please see [[MakingAnINX]] for help creating an INX file for your script.&lt;br /&gt;
&lt;br /&gt;
==== Parameters ====&lt;br /&gt;
The INX file describes which parameters the extension needs. Inkscape will prompt the user with a UI to fill out these parameters before the extension is called. Each parameter will be passed through the commandline as &amp;lt;code&amp;gt;--paramname=paramvalue&amp;lt;/code&amp;gt;. Eg. if you have described a string parameter with name 'string1' in the INX file, Inkscape will present a textbox to the user. When the user fills in &amp;quot;text&amp;quot; and presses OK, it will pass &amp;lt;code&amp;gt;--string1=&amp;quot;text&amp;quot;&amp;lt;/code&amp;gt; to the program specified by the &amp;lt;command&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
There are several types of parameters that can be requested by the INX description:&lt;br /&gt;
&lt;br /&gt;
* Boolean (checkbox)&lt;br /&gt;
* Int (numeric textbox)&lt;br /&gt;
* Float (numeric textbox)&lt;br /&gt;
* String (textbox)&lt;br /&gt;
* Description (static text)&lt;br /&gt;
* Enum (drop down selection list)&lt;br /&gt;
* Notebook (pages/tabs)&lt;br /&gt;
* Option group (radio buttons)&lt;br /&gt;
&lt;br /&gt;
For a detailed description of all parameters and input controls, see [[INX Parameters]].&lt;br /&gt;
&lt;br /&gt;
=== Installing ===&lt;br /&gt;
&lt;br /&gt;
Installing is as simple as copying the script (unless it resides in your path) and its INX file to the inkscape/share/extensions ($HOME/.config/inkscape/extensions) directory. (If you install a script in your home directory be sure to copy the dependencies.)&lt;br /&gt;
&lt;br /&gt;
If you are looking to use scripts that have already been written, the most difficult part will likely be the installation. Since scripts are  separate programs they may have any number of dependencies that are not included with inkscape. Currently, the best way to find missing dependencies is by reading the error messages produced by running the script from the command line.&lt;br /&gt;
&lt;br /&gt;
=== See Also ===&lt;br /&gt;
&lt;br /&gt;
*[[Generating_objects_from_extensions]]. How to use a script to generate actual objects inside SVG documents.&lt;br /&gt;
&lt;br /&gt;
*[http://www.ekips.org/comp/inkscape/extending.php#ignorance| Aarons website] describing his path to learning how scripting extensions work. '''VERY OUT-OF-DATE'''&lt;br /&gt;
&lt;br /&gt;
*[[MakingAnINX]]&lt;br /&gt;
&lt;br /&gt;
*[[PythonEffectTutorial]]&lt;br /&gt;
&lt;br /&gt;
*[[Tips For Python Script Extensions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Extensions]]&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65419</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=65419"/>
		<updated>2010-11-01T09:17:45Z</updated>

		<summary type="html">&lt;p&gt;Flor: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find the different parameter elements you may use in your .inx files (Inkscape Extensions)&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==boolean==&lt;br /&gt;
Gives a '''checkbox'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list. &lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first item is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first option is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
''??''&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65413</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=65413"/>
		<updated>2010-11-01T09:13:45Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* optiongroup */&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'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list. &lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first item is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements. The first option is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
''??''&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65407</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=65407"/>
		<updated>2010-11-01T09:13:03Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* enum */&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'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list. &lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements. The first item is selected by default.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead. &lt;br /&gt;
The default value is always the first option element.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
''??''&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65401</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=65401"/>
		<updated>2010-11-01T09:11:50Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* optiongroup */&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'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. Set the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; to display a drop down select list instead. &lt;br /&gt;
The default value is always the first option element.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
''??''&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65395</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=65395"/>
		<updated>2010-11-01T08:21:46Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* enum */&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'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==enum==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option''' using a drop down select list.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected item'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;enum&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_item&amp;gt;&lt;br /&gt;
   &amp;lt;_item value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_item&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==notebook==&lt;br /&gt;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. But if the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; is set, then an input box with a drop down select list is shown.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
''??''&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65389</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=65389"/>
		<updated>2010-11-01T08:11:35Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* optiongroup */&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'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&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;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==optiongroup==&lt;br /&gt;
Creates a list of choices where the user can only select '''one option'''. By default this is displayed as radiobuttons. But if the attribute &amp;lt;code&amp;gt;appearance=&amp;quot;minimal&amp;quot;&amp;lt;/code&amp;gt; is set, then an input box with a drop down select list is shown.&lt;br /&gt;
&lt;br /&gt;
Create the different choices with &amp;lt;code&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/code&amp;gt; elements.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the optiongroup element is the '''value attribute of the selected option'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;optiongroup&amp;quot; appearance=&amp;quot;minimal&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;1&amp;quot;&amp;gt;First option&amp;lt;/_option&amp;gt;&lt;br /&gt;
   &amp;lt;_option value=&amp;quot;2&amp;quot;&amp;gt;Second option&amp;lt;/_option&amp;gt;&lt;br /&gt;
&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==color==&lt;br /&gt;
''??''&lt;/div&gt;</summary>
		<author><name>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65383</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=65383"/>
		<updated>2010-11-01T08:02:10Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* notebook */&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'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&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;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65377</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=65377"/>
		<updated>2010-11-01T08:01:25Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* notebook */&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'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&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;
Creates a '''set of pages''' or tab-sheets. Create individual pages with the &amp;lt;code&amp;gt;&amp;amp;lt;page&amp;amp;gt;&amp;lt;/code&amp;gt; element.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;notebook&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_1&amp;quot; _gui-text=&amp;quot;First page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&amp;lt;/param&amp;gt;&lt;br /&gt;
   &amp;lt;/page&amp;gt;&lt;br /&gt;
   &amp;lt;page name=&amp;quot;name_page_2&amp;quot; _gui-text=&amp;quot;Second page&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;param&amp;gt;...&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;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The '''returned value''' for the notebook parameter element is the name of the '''selected''' page/tab.&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65371</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=65371"/>
		<updated>2010-11-01T07:52:43Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* description */&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'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==description==&lt;br /&gt;
To show some text in the dialog window, for example as &amp;quot;help&amp;quot; text.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;description&amp;quot;&amp;quot;&amp;gt;Some text here.&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65365</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=65365"/>
		<updated>2010-11-01T07:45:36Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* string */&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'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==string==&lt;br /&gt;
A textbox to capture a '''character string'''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;string&amp;quot; _gui-text=&amp;quot;Some text label&amp;quot;&amp;gt;Some default text&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65359</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=65359"/>
		<updated>2010-11-01T07:41:22Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* boolean */&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'''. Set the default value to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;boolean&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;false&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==int==&lt;br /&gt;
To get a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65353</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=65353"/>
		<updated>2010-11-01T07:36:26Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* float */&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 a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox is limited to numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places, use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&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>Flor</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extensions:_INX_widgets_and_parameters&amp;diff=65347</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=65347"/>
		<updated>2010-11-01T07:35:40Z</updated>

		<summary type="html">&lt;p&gt;Flor: /* int */&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 a textbox for an '''integer''' number. Input to the textbox is limited to integer numbers with up and down buttons at the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;int&amp;quot; min=&amp;quot;1&amp;quot; max=&amp;quot;100&amp;quot; _gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==float==&lt;br /&gt;
To get a textbox for a '''float number'''. Input to the textbox will be limited to numbers with up and down buttons on the right-hand side.&lt;br /&gt;
&lt;br /&gt;
Limit the input range with the '''min''' and '''max''' attributes. To set the number of decimal places use the '''precision''' attribute.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;param name=&amp;quot;some_name&amp;quot; type=&amp;quot;float&amp;quot; precision=&amp;quot;3&amp;quot; min=&amp;quot;0&amp;quot; max=&amp;quot;9999&amp;quot; &lt;br /&gt;
_gui-text=&amp;quot;Some label text&amp;quot;&amp;gt;1.234&amp;lt;/param&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&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>Flor</name></author>
	</entry>
</feed>