<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hypertwins.org/mw/index.php?action=history&amp;feed=atom&amp;title=WikiHyperForms</id>
	<title>WikiHyperForms - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hypertwins.org/mw/index.php?action=history&amp;feed=atom&amp;title=WikiHyperForms"/>
	<link rel="alternate" type="text/html" href="https://hypertwins.org/mw/index.php?title=WikiHyperForms&amp;action=history"/>
	<updated>2026-05-11T00:46:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://hypertwins.org/mw/index.php?title=WikiHyperForms&amp;diff=9565&amp;oldid=prev</id>
		<title>Woozle: /* ...for defining forms */ int -&gt; page</title>
		<link rel="alternate" type="text/html" href="https://hypertwins.org/mw/index.php?title=WikiHyperForms&amp;diff=9565&amp;oldid=prev"/>
		<updated>2007-09-06T01:43:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;...for defining forms: &lt;/span&gt; int -&amp;gt; page&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:43, 6 September 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===...for defining forms===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===...for defining forms===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;form&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;form&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:target=&#039;&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;int&lt;/del&gt;&#039;&#039;&#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; | &#039;&#039;&#039;url&#039;&#039;&#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; | new:expr_tem:expr_targ&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:target=&#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;page&lt;/ins&gt;&#039;&#039;&#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; | &#039;&#039;&#039;url&#039;&#039;&#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; | new:expr_tem:expr_targ&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:method=&amp;#039;&amp;#039;&amp;#039;get&amp;#039;&amp;#039;&amp;#039; | &amp;#039;&amp;#039;&amp;#039;post&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:method=&amp;#039;&amp;#039;&amp;#039;get&amp;#039;&amp;#039;&amp;#039; | &amp;#039;&amp;#039;&amp;#039;post&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l15&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:list=&amp;#039;&amp;#039;&amp;#039;cat&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;category name&amp;lt;/u&amp;gt;|&amp;#039;&amp;#039;&amp;#039;text&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;.demarcated.list&amp;lt;/u&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:list=&amp;#039;&amp;#039;&amp;#039;cat&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;category name&amp;lt;/u&amp;gt;|&amp;#039;&amp;#039;&amp;#039;text&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;.demarcated.list&amp;lt;/u&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:width=&amp;lt;u&amp;gt;columns&amp;lt;/u&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:width=&amp;lt;u&amp;gt;columns&amp;lt;/u&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;quot;list&amp;quot; only applies to &amp;quot;choice&amp;quot; or &amp;quot;option&amp;quot; types&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;quot;list&amp;quot; only applies to &amp;quot;choice&amp;quot; or &amp;quot;option&amp;quot; types&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot;&gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;target values:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;target values:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;int&lt;/del&gt;&#039;&#039;&#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; - targets the internal page whose name is &amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt;, and passes the form data&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;page&lt;/ins&gt;&#039;&#039;&#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; - targets the internal page whose name is &amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt;, and passes the form data&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;url&#039;&#039;&#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; - targets the external page whose URL is &amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;url&#039;&#039;&#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; - targets the external &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;web &lt;/ins&gt;page whose URL is &amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;new&amp;#039;&amp;#039;&amp;#039;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;new&amp;#039;&amp;#039;&amp;#039;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;lt;u&amp;gt;expr_tem&amp;lt;/u&amp;gt; is the template to use for creating the new page (see syntax for processing form data)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;lt;u&amp;gt;expr_tem&amp;lt;/u&amp;gt; is the template to use for creating the new page (see syntax for processing form data)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;lt;u&amp;gt;expr_targ&amp;lt;/u&amp;gt; is the name of the new page to create&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;lt;u&amp;gt;expr_targ&amp;lt;/u&amp;gt; is the name of the new page to create&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** By default, a new page will be shown as a preview for the user to confirm. Maybe later we could have an option to just create it.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** By default, a new page will be shown as a preview for the user to confirm. Maybe later we could have an option to just create it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===...for processing form data===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===...for processing form data===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The syntax is basically the same for an existing page which processes form input as it is for creating a new page from a template; the only difference is that the former only &amp;#039;&amp;#039;shows&amp;#039;&amp;#039; the results, while the latter creates a new page &amp;#039;&amp;#039;containing&amp;#039;&amp;#039; the results.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The syntax is basically the same for an existing page which processes form input as it is for creating a new page from a template; the only difference is that the former only &amp;#039;&amp;#039;shows&amp;#039;&amp;#039; the results, while the latter creates a new page &amp;#039;&amp;#039;containing&amp;#039;&amp;#039; the results.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key htorg?hmw:diff:1.41:old-9564:rev-9565:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Woozle</name></author>
	</entry>
	<entry>
		<id>https://hypertwins.org/mw/index.php?title=WikiHyperForms&amp;diff=9564&amp;oldid=prev</id>
		<title>Woozle at 01:20, 6 September 2007</title>
		<link rel="alternate" type="text/html" href="https://hypertwins.org/mw/index.php?title=WikiHyperForms&amp;diff=9564&amp;oldid=prev"/>
		<updated>2007-09-06T01:20:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[category:Woozle software]]Tired of not finding extensions to do what I wanted, and having a paying gig to produce something which did do some of them, I&amp;#039;m going to see if I can quickly whip this up...&lt;br /&gt;
==Syntax==&lt;br /&gt;
===...for expressions===&lt;br /&gt;
&amp;quot;expressions&amp;quot; are used in all of the following areas (defining forms, processing form data, and generating reports).&lt;br /&gt;
&lt;br /&gt;
An expression is one or more variable references concatenated together, like &amp;lt;nowiki&amp;gt;{{{var1}}} or {{{var1}}}{{{var2}}}&amp;lt;/nowiki&amp;gt;. The [http://meta.wikimedia.org/wiki/Help:ParserFunctions ParserFunctions] extension should work for using more complex expressions.&lt;br /&gt;
===...for defining forms===&lt;br /&gt;
&amp;lt;form&lt;br /&gt;
:target=&amp;#039;&amp;#039;&amp;#039;int&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; | &amp;#039;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; | new:expr_tem:expr_targ&lt;br /&gt;
:method=&amp;#039;&amp;#039;&amp;#039;get&amp;#039;&amp;#039;&amp;#039; | &amp;#039;&amp;#039;&amp;#039;post&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;input&lt;br /&gt;
:type=&amp;#039;&amp;#039;&amp;#039;line&amp;#039;&amp;#039;&amp;#039;|&amp;#039;&amp;#039;&amp;#039;text&amp;#039;&amp;#039;&amp;#039;|&amp;#039;&amp;#039;&amp;#039;choice&amp;#039;&amp;#039;&amp;#039;|&amp;#039;&amp;#039;&amp;#039;option&amp;#039;&amp;#039;&amp;#039;|&amp;#039;&amp;#039;&amp;#039;check&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:list=&amp;#039;&amp;#039;&amp;#039;cat&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;category name&amp;lt;/u&amp;gt;|&amp;#039;&amp;#039;&amp;#039;text&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;.demarcated.list&amp;lt;/u&amp;gt;&lt;br /&gt;
:width=&amp;lt;u&amp;gt;columns&amp;lt;/u&amp;gt;&lt;br /&gt;
:&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;list&amp;quot; only applies to &amp;quot;choice&amp;quot; or &amp;quot;option&amp;quot; types&lt;br /&gt;
* &amp;quot;width&amp;quot; only applies to &amp;quot;line&amp;quot; or &amp;quot;text&amp;quot; types&lt;br /&gt;
* &amp;quot;height&amp;quot; only applies to &amp;quot;text&amp;quot; type&lt;br /&gt;
&lt;br /&gt;
target values:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;int&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; - targets the internal page whose name is &amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt;, and passes the form data&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt; - targets the external page whose URL is &amp;lt;u&amp;gt;expr&amp;lt;/u&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;new&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
** &amp;lt;u&amp;gt;expr_tem&amp;lt;/u&amp;gt; is the template to use for creating the new page (see syntax for processing form data)&lt;br /&gt;
** &amp;lt;u&amp;gt;expr_targ&amp;lt;/u&amp;gt; is the name of the new page to create&lt;br /&gt;
** By default, a new page will be shown as a preview for the user to confirm. Maybe later we could have an option to just create it.&lt;br /&gt;
===...for processing form data===&lt;br /&gt;
The syntax is basically the same for an existing page which processes form input as it is for creating a new page from a template; the only difference is that the former only &amp;#039;&amp;#039;shows&amp;#039;&amp;#039; the results, while the latter creates a new page &amp;#039;&amp;#039;containing&amp;#039;&amp;#039; the results.&lt;br /&gt;
&lt;br /&gt;
...and really, at the moment I can&amp;#039;t think of anything about this which needs to be more complicated than the &amp;quot;expression&amp;quot; syntax above, possibly combined with the report generation syntax.&lt;br /&gt;
===...for report generation (looping, possibly based on wiki contents)===&lt;br /&gt;
&amp;lt;foreach&lt;br /&gt;
:list=&amp;#039;&amp;#039;&amp;#039;cat&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;category name&amp;lt;/u&amp;gt;|&amp;#039;&amp;#039;&amp;#039;text&amp;#039;&amp;#039;&amp;#039;:&amp;lt;u&amp;gt;.demarcated.list&amp;lt;/u&amp;gt;&lt;br /&gt;
:&amp;gt;&lt;br /&gt;
&amp;lt;/foreach&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inside this tag pair, the following variables are available&lt;br /&gt;
* {{#for.string}} - current value (either page name or list item)&lt;br /&gt;
* {{#for.count}} - number of items in the for loop&lt;br /&gt;
* if &amp;quot;list&amp;quot; is a &amp;quot;cat:&amp;quot;:&lt;br /&gt;
** {{#for.page.title}}&lt;br /&gt;
** {{#for.page.hits}}&lt;br /&gt;
** {{#for.page.length}}&lt;br /&gt;
** {{#for.page.when.edited}}&lt;br /&gt;
** {{#for.page.when.created}}&lt;br /&gt;
** {{#for.page.categories}}&lt;br /&gt;
** ...and of course you can transclude from each page by using {{:{{#for.page.title}}}} or even &amp;lt;nowiki&amp;gt;{{#lst...}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Later on we might want more complicated selection criteria as in DPL, but this will do for now.&lt;br /&gt;
&lt;br /&gt;
The following tags are also available:&lt;br /&gt;
* &amp;lt;first&amp;gt;This text is only processed during the first cycle.&amp;lt;/first&amp;gt;&lt;br /&gt;
* &amp;lt;final&amp;gt;This text is only processed during the last cycle.&amp;lt;/final&amp;gt;&lt;/div&gt;</summary>
		<author><name>Woozle</name></author>
	</entry>
</feed>