[prev in list] [next in list] [prev in thread] [next in thread]
List: mono-docs-list
Subject: Re: [Mono-docs-list] [PATCH] Fixing namespace edit (#319116)
From: "Mario Sopena Novales" <mario.sopena () gmail ! com>
Date: 2008-02-22 18:49:41
Message-ID: ef36f55f0802221049u7de62d7g6bb895666cc021c2 () mail ! gmail ! com
[Download RAW message or body]
Hi,
I fixed all the indentation mess. More comments below:
On 22/02/2008, Jonathan Pryor <jonpryor@vt.edu> wrote:
> On Fri, 2008-02-22 at 18:08 +0100, Mario Sopena Novales wrote:
> > Index: provider.cs
> > ===================================================================
> > --- provider.cs (revisión: 96411)
> > +++ provider.cs (copia de trabajo)
> > @@ -609,9 +609,13 @@
> > }
> > }
> >
> > - public void PackXml (string fname, XmlDocument doc)
> > + public void PackXml (string fname, XmlDocument doc, string real_path)
> > {
> > - zip_output.PutNextEntry (new ZipEntry (fname));
> > + ZipEntry entry = new ZipEntry (fname);
> > + if (real_path != null)
> > + entry.ExtraData = ConvertToArray(real_path);
> > +
> > + zip_output.PutNextEntry (entry);
>
> Please fix your indenting.
>
> > Index: mono-ecma-css.xsl
> > ===================================================================
> > --- mono-ecma-css.xsl (revisión: 96411)
> > +++ mono-ecma-css.xsl (copia de trabajo)
> > @@ -684,7 +684,7 @@
> > <xsl:apply-templates select="summary" mode="notoppara"/>
> > <xsl:if test="monodoc:MonoEditing()">
> > <xsl:value-of select="' '" />
> > - <a href="{monodoc:EditUrlNamespace \
> > ($namespace, 'summary')}">[Edit]</a> + [<a \
> > href="{monodoc:EditUrlNamespace (., $namespace, 'summary')}">Edit</a>]
>
> Any particular reason you don't want the '[' and ']' as part of the link
> text? I'd prefer to keep them as part of the link.
Because the other Edit links are like this, so I though it would be
better to keep all unified.
>
> > Index: ecma-provider.cs
> > ===================================================================
> > --- ecma-provider.cs (revisión: 96411)
> > +++ ecma-provider.cs (copia de trabajo)
> > @@ -184,6 +184,7 @@
> > if (File.Exists (ns_summary_file)) {
> > XmlDocument nsSummaryFile = new XmlDocument ();
> > nsSummaryFile.Load (ns_summary_file);
> > + namespace_realpath [tn] = ns_summary_file;
>
> Fix indentation.
>
> > @@ -869,16 +871,16 @@
> >
> > match_node = ns_node;
> > string ns_name = nsurl.Substring (2);
> > -
> > - XmlReader summary = GetNamespaceDocument (ns_name);
> > - if (summary == null)
> > +
> > + XmlDocument doc = GetHelpXmlWithChanges("xml.summary." + ns_name);
> > + if (doc == null)
> > return null;
>
> Shouldn't this fall-back to using GetNamspaceDocument() if
> GetHelpXmlWithChanges() fails?
Well, the reason is that GetNamespaceDocument calls GetHelpXml() which
is a function copy&pasted to GetHelpXmlWithChanges except for the
later calling one extra method to detect whether there are changes and
applying them. In fact, I think we should remove
GetNamespaceDocument... well, I think the monodoc "library" need a
heavy refactoring because it is a little mess, I just don't find
enough free time to do it, ;-P
>
> > @@ -1181,10 +1183,12 @@
> > return "";
> > }
> >
> > - public string EditUrlNamespace (string ns, string section)
> > + public string EditUrlNamespace (XPathNodeIterator itr, string ns, \
> > string section) {
> > if (hs is EcmaUncompiledHelpSource)
> > return "edit:file:" + Path.Combine(((EcmaUncompiledHelpSource)hs).BasePath, ns + \
> > ".xml") + "@/Namespace/Docs/" + section; + else if (itr.MoveNext ())
> > + return EditingUtils.FormatEditUri(itr.Current.BaseURI, \
> > "/elements/" + section);
>
> Indentation.
>
> Thanks,
> - Jon
Thanks, Mario
["ns.diff" (text/x-patch)]
Index: provider.cs
===================================================================
--- provider.cs (revisión: 96411)
+++ provider.cs (copia de trabajo)
@@ -609,9 +609,13 @@
}
}
- public void PackXml (string fname, XmlDocument doc)
- {
- zip_output.PutNextEntry (new ZipEntry (fname));
+ public void PackXml (string fname, XmlDocument doc, string real_path)
+ {
+ ZipEntry entry = new ZipEntry (fname);
+ if (real_path != null)
+ entry.ExtraData = ConvertToArray(real_path);
+
+ zip_output.PutNextEntry (entry);
XmlTextWriter xmlWriter = new XmlTextWriter (zip_output, Encoding.UTF8);
doc.WriteContentTo (xmlWriter);
xmlWriter.Flush ();
Index: mono-ecma-css.xsl
===================================================================
--- mono-ecma-css.xsl (revisión: 96411)
+++ mono-ecma-css.xsl (copia de trabajo)
@@ -684,7 +684,7 @@
<xsl:apply-templates select="summary" mode="notoppara"/>
<xsl:if test="monodoc:MonoEditing()">
<xsl:value-of select="' '" />
- <a href="{monodoc:EditUrlNamespace ($namespace, 'summary')}">[Edit]</a>
+ [<a href="{monodoc:EditUrlNamespace (., $namespace, 'summary')}">Edit</a>]
</xsl:if>
</div>
@@ -696,7 +696,7 @@
<xsl:apply-templates select="remarks"/>
<xsl:if test="monodoc:MonoEditing()">
<xsl:value-of select="' '" />
- <a href="{monodoc:EditUrlNamespace ($namespace, 'remarks')}">[Edit]</a>
+ [<a href="{monodoc:EditUrlNamespace (., $namespace, 'remarks')}">Edit</a>]
</xsl:if>
</div>
</xsl:if>
Index: mono-ecma.xsl
===================================================================
--- mono-ecma.xsl (revisión: 96411)
+++ mono-ecma.xsl (copia de trabajo)
@@ -717,7 +717,7 @@
<xsl:apply-templates select="summary" mode="notoppara"/>
<xsl:if test="monodoc:MonoEditing()">
<xsl:value-of select="' '" />
- <a href="{monodoc:EditUrlNamespace ($namespace, 'summary')}">[Edit]</a>
+ [<a href="{monodoc:EditUrlNamespace (., $namespace, 'summary')}">Edit</a>]
</xsl:if>
</p>
@@ -729,7 +729,7 @@
<xsl:apply-templates select="remarks"/>
<xsl:if test="monodoc:MonoEditing()">
<xsl:value-of select="' '" />
- <a href="{monodoc:EditUrlNamespace ($namespace, 'remarks')}">[Edit]</a>
+ [<a href="{monodoc:EditUrlNamespace (., $namespace, 'remarks')}">Edit</a>]
</xsl:if>
</blockquote>
</xsl:if>
Index: ecma-provider.cs
===================================================================
--- ecma-provider.cs (revisión: 96411)
+++ ecma-provider.cs (copia de trabajo)
@@ -184,6 +184,7 @@
if (File.Exists (ns_summary_file)) {
XmlDocument nsSummaryFile = new XmlDocument ();
nsSummaryFile.Load (ns_summary_file);
+ namespace_realpath [tn] = ns_summary_file;
XmlNode ns_summary = nsSummaryFile.SelectSingleNode \
("Namespace/Docs/summary");
if (ns_summary != null && ns_summary.InnerText != "To be added." && \
ns_summary.InnerText != "") { @@ -291,7 +292,7 @@
e.AppendChild (copy);
elements.AppendChild (e);
}
- hs.PackXml ("xml.summary." + ns, doc);
+ hs.PackXml ("xml.summary." + ns, doc,(string) namespace_realpath[ns]);
}
@@ -310,12 +311,13 @@
summary.AppendChild (nsSummary.CreateElement("summary"));
}
- tree.HelpSource.PackXml ("mastersummary.xml", nsSummary);
+ tree.HelpSource.PackXml ("mastersummary.xml", nsSummary, null);
}
static Hashtable class_summaries = new Hashtable ();
static Hashtable namespace_summaries = new Hashtable ();
static Hashtable namespace_remarks = new Hashtable ();
+ static Hashtable namespace_realpath = new Hashtable ();
XmlDocument doc;
void PopulateClass (string ns, Node ns_node, string file)
@@ -870,15 +872,15 @@
match_node = ns_node;
string ns_name = nsurl.Substring (2);
- XmlReader summary = GetNamespaceDocument (ns_name);
- if (summary == null)
+ XmlDocument doc = GetHelpXmlWithChanges("xml.summary." + ns_name);
+ if (doc == null)
return null;
XsltArgumentList args = new XsltArgumentList();
args.AddExtensionObject("monodoc:///extensions", ExtObject);
args.AddParam("show", "", "namespace");
args.AddParam("namespace", "", ns_name);
- string s = Htmlize(new XPathDocument (summary), args);
+ string s = Htmlize(doc, args);
return BuildHtml (css_ecma_code, s);
}
@@ -1181,10 +1183,12 @@
return "";
}
- public string EditUrlNamespace (string ns, string section)
+ public string EditUrlNamespace (XPathNodeIterator itr, string ns, string section)
{
if (hs is EcmaUncompiledHelpSource)
return "edit:file:" + Path.Combine(((EcmaUncompiledHelpSource)hs).BasePath, ns + \
".xml") + "@/Namespace/Docs/" + section; + else if (itr.MoveNext ())
+ return EditingUtils.FormatEditUri(itr.Current.BaseURI, "/elements/" + section);
return "";
}
_______________________________________________
Mono-docs-list maillist - Mono-docs-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-docs-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic