svn commit: r578051 [31/31] - in /lenya/branches/revolution/1.3.x/src: java/org/apache/lenya/cms/content/flat/ webapp/lenya/modules/xinha/ webapp/lenya/modules/xinha/contrib/ webapp/lenya/modules/xinha/examples/ webapp/lenya/modules/xinha/images/ webap...

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/module.xmap
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/module.xmap?rev=578051&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/module.xmap (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/module.xmap Fri Sep 21 03:36:30 2007
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Link Module -->
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+  <map:flow language="javascript">
+     <map:script src="module:///code.js"/>
+  </map:flow>
+   <map:pipelines>
+      <map:pipeline type="noncaching">
+<!-- CSS bypass -->
+         <map:match pattern="{module:module}/*.css">
+            <map:read src="module:///{1}.css" mime-type="text/css"/>
+         </map:match>
+<!-- Get POST data function -->
+         <map:match pattern="formdata">
+            <map:generate type="serverpages" src="module://form/post.xsp"/>
+            <map:serialize type="xml"/>
+         </map:match>
+<!-- Edit meta data -->
+         <map:match pattern="edit/*">
+            <map:act type="resource-exists" src="module://edit/module.xmap">
+               <map:redirect-to uri="/{publication:publication}/edit/{../1}"/>
+            </map:act>
+            <map:mount uri-prefix="" src="module:///edit.xmap"/> 
+            <map:serialize type="html"/>
+         </map:match>
+<!-- Save meta data -->
+         <map:match pattern="{module:module}/save/*">
+            <map:call function="update">
+             <map:parameter name="publication" value="{page-envelope:publication-id}"/>
+             <map:parameter name="module" value="{module:module}"/>
+             <map:parameter name="unid" value="{1}"/>
+           </map:call>
+         </map:match>
+<!-- Data for update() -->
+         <map:match pattern="{module:module}/savedata/*">
+            <map:aggregate element="save">
+               <map:part src="content:/INFO/{1}!edit"/>
+               <map:part src="cocoon:/formdata"/>
+            </map:aggregate>
+            <map:transform src="module:///save.xsl">
+               <map:parameter name="unid" value="{1}"/>
+            </map:transform>
+            <map:serialize type="xml"/>
+         </map:match>
+<!-- Edit new revision -->
+         <map:match pattern="{module:module}/newrevision/*_*!*">
+            <map:generate src="content:/{1}_{2}!{3}"/>
+            <map:transform src="module:///doc2form.xsl">
+             <map:parameter name="publication" value="{publication:publication}"/>
+             <map:parameter name="publicationname" value="{publication:name}"/>
+             <map:parameter name="module" value="{module:module}"/>
+             <map:parameter name="unid" value="{1}"/>
+             <map:parameter name="lang" value="{2}"/>
+            </map:transform>
+            <map:serialize type="html"/>
+         </map:match>
+<!-- Save new revision -->
+         <map:match pattern="{module:module}/saverevision/*">
+            <map:call function="create">
+             <map:parameter name="module" value="{module:module}"/>
+             <map:parameter name="unid" value="{1}"/>
+           </map:call>
+         </map:match>
+<!-- Data for Save new revision -->
+         <map:match pattern="{module:module}/saverevisiondata/**">
+            <map:generate src="cocoon:/formdata"/>
+            <map:transform src="module:///form2xhtml.xsl">
+               <map:parameter name="unid" value="{1}"/>
+            </map:transform>
+            <map:serialize type="xml"/>
+         </map:match>
+      </map:pipeline>
+   </map:pipelines>
+</map:sitemap>

Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/resource.css
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/resource.css?rev=578051&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/resource.css (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/resource.css Fri Sep 21 03:36:30 2007
@@ -0,0 +1,33 @@
+/* Header Menu */
+body {
+   font-family: Tahoma, Verdana, sans-serif;
+   background-color: #EEFFEE;
+}
+
+h1 {  padding: 0px 0px 0px 0px; }
+
+table {
+   padding: 1 1 1 1px;
+   border: solid 0px #336633;
+   background-color: #EEFFEE;
+   border-collapse: collapse;
+   width: auto;
+}
+
+th{
+    font-size: 80%;
+    padding: 3px;
+    background-color: #EEFFEE;
+    vertical-align: center;
+}
+
+td{
+    font-size: 80%;
+    padding: 3px;
+    background-color: #EEFFEE;
+    vertical-align: center;
+}
+div.richtext{
+   border: 2px solid #009900;
+   background-color: #FFFFFF;
+}

Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/resource.xsl
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/resource.xsl?rev=578051&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/resource.xsl (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/resource.xsl Fri Sep 21 03:36:30 2007
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns="http://www.w3.org/1999/xhtml"
+    xmlns:xhtml="http://www.w3.org/1999/xhtml"
+    xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0"
+    xmlns:lenya="http://apache.org/cocoon/lenya/page-envelope/1.0" 
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:dcterms="http://purl.org/dc/terms/"
+    xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+    exclude-result-prefixes="page xhtml"
+>
+
+<xsl:param name="module"/>
+<xsl:param name="publication"/>
+<xsl:param name="publicationname"/>
+<xsl:param name="languages"/>
+<xsl:variable name="unid"><xsl:value-of select="/content/resource/@unid"/></xsl:variable>
+
+<xsl:template match="/content">
+  <html><head>
+  <xsl:apply-templates select="resource" mode="head"/>
+  </head><body>
+<xsl:apply-templates/>
+   </body></html>
+</xsl:template>
+
+
+<xsl:template match="resource" mode="head">
+<link rel="stylesheet" href="/{$publication}/{$module}/edit.css" type="text/css"/>
+<title><xsl:value-of select="$publicationname"/>&#160;<i18n:text>Resource</i18n:text>&#160;<xsl:value-of select="@unid"/></title>
+</xsl:template>
+
+
+<xsl:template match="resource">
+<h1><xsl:value-of select="$publicationname"/>&#160;<i18n:text>XML</i18n:text>&#160;<i18n:text>Resource</i18n:text>&#160;<xsl:value-of select="@unid"/></h1>
+<form method="post" action="/{$publication}/{$module}/save/{@unid}">
+<table>
+<!-- Resource Info -->
+<tr>
+<th colspan="3"><i18n:text>ID</i18n:text></th>
+<td colspan="3"><xsl:value-of select="@id"/></td>
+<td colspan="2" class="dark">
+<xsl:element name="input">
+<xsl:attribute name="type">radio</xsl:attribute>
+<xsl:attribute name="name">defaultlanguage</xsl:attribute>
+<xsl:attribute name="value"></xsl:attribute>
+<xsl:if test="string-length(@defaultlanguage) &lt; 1"><xsl:attribute name="checked"/></xsl:if>
+</xsl:element><i18n:text>No Default Language</i18n:text>
+</td>
+</tr>
+<tr>
+<th colspan="3"><i18n:text>Change ID to</i18n:text></th>
+<td colspan="5">
+[Not implemented yet]
+<!-- TODO: Must update Structures in FlatResource.setID()
+<xsl:element name="input">
+<xsl:attribute name="type">text</xsl:attribute>
+<xsl:attribute name="name">new.id</xsl:attribute>
+<xsl:attribute name="size">60</xsl:attribute>
+<xsl:attribute name="value"><xsl:value-of select="@id"/></xsl:attribute>
+</xsl:element>
+-->
+</td>
+</tr>
+<tr>
+<th colspan="3"><i18n:text>DocType</i18n:text></th>
+<xsl:if test="@doctype"><td colspan="5"><xsl:value-of select="@doctype"/></td></xsl:if>
+</tr>
+<!-- Spacer -->
+<tr><td colspan="8" class="spacer">&#160;</td></tr>
+<!-- Column Headers -->
+<xsl:if test="translation">
+<tr>
+<th class="dark"><i18n:text>Delete</i18n:text></th>
+<th><i18n:text>Live</i18n:text></th>
+<th><i18n:text>Edit</i18n:text></th>
+<th><i18n:text>URL</i18n:text></th>
+<th><i18n:text>Title</i18n:text></th>
+<th><i18n:text>Creator</i18n:text></th>
+<th><i18n:text>When</i18n:text></th>
+<th><i18n:text>Revision</i18n:text></th>
+</tr>
+</xsl:if>
+<!-- Translations -->
+<xsl:apply-templates select="translation"/>
+<!-- Spacer -->
+<tr><td colspan="8" class="spacer">&#160;</td></tr>
+
+<!-- New Translation -->
+<xsl:variable name="languageoptionstest"><xsl:call-template name="languageoptionstest"/></xsl:variable>
+<xsl:if test="string-length($languageoptionstest) &gt; 0">
+<tr>
+<th colspan="2" rowspan="3" class="spacer"><i18n:text>New</i18n:text><br/><i18n:text>Translation</i18n:text></th>
+<th><i18n:text>Language</i18n:text></th>
+<td colspan="3">
+<xsl:element name="SELECT">
+<xsl:attribute name="name">new.language</xsl:attribute>
+<OPTION VALUE=""><i18n:text>None</i18n:text></OPTION>
+<xsl:call-template name="languageoptions"/>
+</xsl:element>
+</td>
+<td colspan="2" class="dark">
+<xsl:element name="input">
+<xsl:attribute name="type">radio</xsl:attribute>
+<xsl:attribute name="name">defaultlanguage</xsl:attribute>
+<xsl:attribute name="value">new</xsl:attribute>
+</xsl:element><i18n:text>Default Language</i18n:text>
+</td>
+</tr>
+
+<tr>
+<th><i18n:text>URL</i18n:text></th>
+<td colspan="5">
+<xsl:element name="input">
+<xsl:attribute name="type">text</xsl:attribute>
+<xsl:attribute name="name">new.href</xsl:attribute>
+<xsl:attribute name="size">60</xsl:attribute>
+</xsl:element>
+</td>
+</tr>
+<tr>
+<th><i18n:text>Title</i18n:text></th>
+<td colspan="5">
+<xsl:element name="input">
+<xsl:attribute name="type">text</xsl:attribute>
+<xsl:attribute name="name">new.title</xsl:attribute>
+<xsl:attribute name="size">60</xsl:attribute>
+</xsl:element>
+</td>
+</tr>
+</xsl:if>
+<!-- Finish -->
+<tr><td colspan="8" class="spacer">&#160;</td></tr>
+<tr><th colspan="8" class="spacer"><input type="submit" value="Save" i18n:attribute="value"/></th></tr>
+</table>
+</form>
+<br/>
+</xsl:template>
+
+
+<xsl:template match="translation">
+<xsl:variable name="edit"><xsl:value-of select="@edit"/></xsl:variable>
+<!-- Spacer -->
+<tr><td colspan="8" class="spacer">&#160;</td></tr>
+<!-- Header -->
+<tr>
+<td class="dark">
+<xsl:if test="@language != ../@defaultlanguage">
+<xsl:element name="input">
+<xsl:attribute name="type">checkbox</xsl:attribute>
+<xsl:attribute name="name">delete</xsl:attribute>
+<xsl:attribute name="value"><xsl:value-of select="@language"/></xsl:attribute>
+</xsl:element>
+</xsl:if>
+</td>
+<td>
+<xsl:element name="input">
+<xsl:attribute name="type">radio</xsl:attribute>
+<xsl:attribute name="name"><xsl:value-of select="@language"/>.live</xsl:attribute>
+<xsl:attribute name="value"/>
+<xsl:if test="string-length(@live) &lt; 1"><xsl:attribute name="checked"/></xsl:if>
+</xsl:element>
+</td>
+<th colspan="4"><i18n:text>Translation</i18n:text>&#160;<xsl:value-of select="@language"/></th>
+<td colspan="2" class="dark">
+<xsl:element name="input">
+<xsl:attribute name="type">radio</xsl:attribute>
+<xsl:attribute name="name">defaultlanguage</xsl:attribute>
+<xsl:attribute name="value"><xsl:value-of select="@language"/></xsl:attribute>
+<xsl:if test="@language = ../@defaultlanguage"><xsl:attribute name="checked"/></xsl:if>
+</xsl:element><i18n:text>Default Language</i18n:text>
+</td>
+</tr>
+<!-- Revisions -->
+<xsl:apply-templates select="revision"/>
+<!-- New Revision -->
+<tr><td class="spacer" colspan="2">&#160;</td><th colspan="6"><a id="a_{@language}" href="/{$publication}/{$module}/newrevision/{$unid}_{@language}!edit"><i18n:text>New</i18n:text>&#160;<i18n:text>Revision</i18n:text></a></th>
+</tr>
+</xsl:template>
+
+
+<xsl:template match="revision">
+<tr>
+<td class="dark">
+<xsl:if test="(@revision != ../@live) and (@revision != ../@edit)">
+<xsl:element name="input">
+<xsl:attribute name="type">checkbox</xsl:attribute>
+<xsl:attribute name="name">delete</xsl:attribute>
+<xsl:attribute name="value"><xsl:value-of select="../@language"/>.<xsl:value-of select="@revision"/></xsl:attribute>
+</xsl:element>
+</xsl:if>
+</td>
+
+<td>
+<xsl:element name="input">
+<xsl:attribute name="type">radio</xsl:attribute>
+<xsl:attribute name="name"><xsl:value-of select="../@language"/>.live</xsl:attribute>
+<xsl:attribute name="value"><xsl:value-of select="@revision"/></xsl:attribute>
+<xsl:if test="@revision = ../@live"><xsl:attribute name="checked"/></xsl:if>
+</xsl:element>
+</td>
+
+<td>
+<xsl:element name="input">
+<xsl:attribute name="type">radio</xsl:attribute>
+<xsl:attribute name="name"><xsl:value-of select="../@language"/>.edit</xsl:attribute>
+
+<xsl:attribute name="onChange">
+<xsl:text disable-output-escaping="yes">javascript:document.getElementById('a_</xsl:text>
+<xsl:value-of select="../@language"/>
+<xsl:text disable-output-escaping="yes">').href = '/</xsl:text>
+<xsl:value-of select="$publication"/>
+<xsl:text disable-output-escaping="yes">/</xsl:text>
+<xsl:value-of select="$module"/>
+<xsl:text disable-output-escaping="yes">/newrevision/</xsl:text>
+<xsl:value-of select="$unid"/>
+<xsl:text disable-output-escaping="yes">_</xsl:text>
+<xsl:value-of select="../@language"/>
+<xsl:text disable-output-escaping="yes">!</xsl:text><xsl:value-of select="@revision"/><xsl:text disable-output-escaping="yes">';</xsl:text></xsl:attribute>
+
+<xsl:attribute name="value"><xsl:value-of select="@revision"/></xsl:attribute>
+<xsl:if test="@revision = ../@edit"><xsl:attribute name="checked"/></xsl:if>
+</xsl:element>
+</td>
+
+<td>
+<xsl:value-of select="@href"/></td>
+<td><xsl:value-of select="@title"/></td>
+<td><xsl:value-of select="@creator"/></td>
+<td><xsl:value-of select="@when"/></td>
+<td><xsl:value-of select="@revision"/></td>
+</tr>
+</xsl:template>
+
+
+<xsl:template name="languageoption">
+<xsl:param name="lang"/>
+<xsl:if test="not(/content/resource/translation[@language = $lang])">
+<option value="{$lang}"><i18n:text key="language-{$lang}"><xsl:value-of select="$lang"/></i18n:text></option>
+</xsl:if>
+</xsl:template>
+
+<xsl:template name="languageoptions">
+<xsl:param name="langs" select="$languages"/>
+<xsl:variable name="more"><xsl:value-of select="substring-after($langs,';')"/></xsl:variable>
+<xsl:choose>
+<xsl:when test="string-length($more) &gt; 0">
+<xsl:call-template name="languageoption">
+   <xsl:with-param name="lang" select="substring-before($langs,';')"/>
+</xsl:call-template>
+<xsl:call-template name="languageoptions">
+   <xsl:with-param name="langs" select="$more"/>
+</xsl:call-template>
+</xsl:when>
+<xsl:otherwise>
+<xsl:call-template name="languageoption">
+   <xsl:with-param name="lang" select="$langs"/>
+</xsl:call-template>
+</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+<xsl:template name="languagetest">
+<xsl:param name="language"/>
+<xsl:if test="not(/content/resource/translation[@language = $language])"><xsl:value-of select="$language"/></xsl:if>
+</xsl:template>
+
+<xsl:template name="languageoptionstest">
+<xsl:param name="langs" select="$languages"/>
+<xsl:variable name="more"><xsl:value-of select="substring-after($langs,';')"/></xsl:variable>
+<xsl:choose>
+<xsl:when test="string-length($more) &gt; 0">
+<xsl:call-template name="languagetest">
+   <xsl:with-param name="langs" select="substring-before($langs,';')"/>
+</xsl:call-template>
+<xsl:call-template name="languageoptionstest">
+   <xsl:with-param name="langs" select="$more"/>
+</xsl:call-template>
+</xsl:when>
+<xsl:otherwise>
+<xsl:call-template name="languagetest">
+   <xsl:with-param name="language" select="$langs"/>
+</xsl:call-template>
+</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+
+<!-- Copy -->
+<xsl:template match="@*|node()" priority="-1">
+  <xsl:copy>
+    <xsl:apply-templates select="@*|node()"/>
+  </xsl:copy>
+</xsl:template>
+
+</xsl:stylesheet> 

Added: lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/save.xsl
URL: http://svn.apache.org/viewvc/lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/save.xsl?rev=578051&view=auto
==============================================================================
--- lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/save.xsl (added)
+++ lenya/branches/revolution/1.3.x/src/webapp/lenya/modules/xml/save.xsl Fri Sep 21 03:36:30 2007
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:lenya="http://apache.org/cocoon/lenya/page-envelope/1.0" 
+>
+
+<xsl:param name="unid"/>
+
+<xsl:template match="/save">
+<save>
+<xsl:attribute name="unid"><xsl:value-of select="$unid"/></xsl:attribute>
+<xsl:apply-templates select="resource"/>
+</save>
+</xsl:template>
+
+<xsl:template match="resource">
+<xsl:variable name="newid"><xsl:value-of select="/save/form/field[@name='new.id']"/></xsl:variable>
+<xsl:variable name="newdefaultlanguage"><xsl:value-of select="/save/form/field[@name='defaultlanguage']"/></xsl:variable>
+<xsl:element name="resource">
+<xsl:if test="@id != $newid"><xsl:attribute name="id"><xsl:value-of select="$newid"/></xsl:attribute></xsl:if>
+<xsl:if test="@defaultlanguage != $newdefaultlanguage"><xsl:attribute name="defaultlanguage"><xsl:value-of select="$newdefaultlanguage"/></xsl:attribute></xsl:if>
+<xsl:apply-templates select="translation" mode="info"/>
+</xsl:element>
+<xsl:apply-templates select="translation" mode="new"/>
+<xsl:call-template name="newtranslation"/>
+</xsl:template>
+
+<xsl:template match="translation" mode="info">
+<xsl:variable name="language"><xsl:value-of select="@language"/></xsl:variable>
+<xsl:variable name="livenew"><xsl:value-of select="/save/form/field[@name=concat($language, '.live')]"/></xsl:variable>
+<xsl:variable name="editnew"><xsl:value-of select="/save/form/field[@name=concat($language, '.edit')]"/></xsl:variable>
+<xsl:variable name="href"><xsl:value-of select="/save/form/field[@name=concat($language , '.href')]"/></xsl:variable>
+<xsl:variable name="title"><xsl:value-of select="/save/form/field[@name=concat($language , '.title')]"/></xsl:variable>
+<xsl:variable name="newrevision"><xsl:if test="(string-length($href) &gt; 0) and (string-length($title) &gt; 0)">1</xsl:if></xsl:variable>
+<xsl:element name="translation">
+<xsl:attribute name="language"><xsl:value-of select="@language"/></xsl:attribute>
+<xsl:choose>
+<xsl:when test="/save/form/field[@name='delete'] = $language">
+<xsl:attribute name="action">delete</xsl:attribute>
+</xsl:when>
+<xsl:otherwise>
+<xsl:if test="(@live != $livenew) and (($livenew != 'new') or (newrevision='1'))">
+<xsl:attribute name="live"><xsl:value-of select="$livenew"/></xsl:attribute>
+</xsl:if>
+<xsl:if test="(@edit != $editnew) and (newrevision != '1')"><xsl:attribute name="edit"><xsl:value-of select="$editnew"/></xsl:attribute></xsl:if>
+<xsl:apply-templates select="revision" mode="info">
+   <xsl:with-param name="language" select="$language"/>
+</xsl:apply-templates>
+</xsl:otherwise>
+</xsl:choose>
+</xsl:element>
+</xsl:template>
+
+<!-- Obsolete? -->
+<xsl:template match="translation" mode="new">
+<xsl:variable name="language"><xsl:value-of select="@language"/></xsl:variable>
+<xsl:call-template name="newrevision">
+   <xsl:with-param name="language" select="$language"/>
+</xsl:call-template>
+</xsl:template>
+
+<xsl:template match="revision" mode="info">
+<xsl:param name="language"/>
+<xsl:if test="/save/form/field[@name='delete'] = concat($language , '.', @revision)">
+<xsl:element name="revision">
+<xsl:attribute name="action">delete</xsl:attribute>
+<xsl:attribute name="revision"><xsl:value-of select="@revision"/></xsl:attribute>
+</xsl:element>
+</xsl:if>
+</xsl:template>
+
+<xsl:template name="newtranslation">
+<xsl:variable name="language"><xsl:value-of select="/save/form/field[@name='new.language']"/></xsl:variable>
+<xsl:if test="string-length($language) &gt; 0">
+<xsl:call-template name="newrevision">
+   <xsl:with-param name="language" select="$language"/>
+   <xsl:with-param name="fieldlanguage" select="'new'"/>
+</xsl:call-template>
+</xsl:if>
+</xsl:template>
+
+<xsl:template name="newrevision">
+<!--
+<xsl:param name="language"/>
+<xsl:param name="fieldlanguage" select="$language"/>
+<xsl:variable name="href"><xsl:value-of select="/save/form/field[@name=concat($fieldlanguage , '.href')]"/></xsl:variable>
+<xsl:variable name="title"><xsl:value-of select="/save/form/field[@name=concat($fieldlanguage , '.title')]"/></xsl:variable>
+<xsl:variable name="live"><xsl:value-of select="/save/form/field[@name=concat($fieldlanguage , '.live')]"/></xsl:variable>
+
+<xsl:variable name="editrev"><xsl:value-of select="/save/resource/translation[@language = $fieldlanguage]/@edit"/></xsl:variable>
+<xsl:variable name="edithref"><xsl:value-of select="/save/resource/translation[@language = $fieldlanguage]/revision[@revision = $editrev]/@href"/></xsl:variable>
+<xsl:variable name="edittitle"><xsl:value-of select="/save/resource/translation[@language = $fieldlanguage]/revision[@revision = $editrev]/@title"/></xsl:variable>
+<xsl:if test="($href != $edithref) or ($title != $edittitle)">
+<xsl:element name="revision">
+<xsl:attribute name="action">new</xsl:attribute>
+<xsl:attribute name="language"><xsl:value-of select="$language"/></xsl:attribute>
+<xsl:if test="$live = 'new'"><xsl:attribute name="live">true</xsl:attribute></xsl:if>
+<link>
+<xsl:attribute name="href"><xsl:value-of select="$href"/></xsl:attribute>
+<xsl:attribute name="title"><xsl:value-of select="$title"/></xsl:attribute>
+</link>
+</xsl:element>
+</xsl:if>
+-->
+</xsl:template>
+
+</xsl:stylesheet>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.