* Bug 12586 fixed: getting XML comments with xmlXPath was not documented 70/19570/3
Samuel GOUGEON [Sun, 3 Dec 2017 14:25:30 +0000 (15:25 +0100)]
  * http://bugzilla.scilab.org/12586

Change-Id: I956c91a9ef6b1eb915b63d29ab802748c7c8e8c7

scilab/CHANGES.md
scilab/modules/xml/help/en_US/xmlXPath.xml
scilab/modules/xml/help/ja_JP/xmlXPath.xml

index 480bff9..2468f84 100644 (file)
@@ -393,6 +393,7 @@ the [development mailing list](dev@lists.scilab.org) for a particular toolbox.
 * [#11767](http://bugzilla.scilab.org/show_bug.cgi?id=11767): `execstr("A. 1","errcatch")` failed to catch the error.
 * [#12195](http://bugzilla.scilab.org/show_bug.cgi?id=12195): `generateBlockImage` sometimes changed the current graphic driver.
 * [#12372](http://bugzilla.scilab.org/show_bug.cgi?id=12372): The `mode` function was poorly documented.
+* [#12586](http://bugzilla.scilab.org/show_bug.cgi?id=12586): An example showing how to get XML comments was missing in the `xmlXPath` help page.
 * [#12771](http://bugzilla.scilab.org/show_bug.cgi?id=12771): xcosPalGenerateAllIcons help example was broken.
 * [#12792](http://bugzilla.scilab.org/show_bug.cgi?id=12792): `save(filename, "undefinedVariable")` created an empty useless file.
 * [#12862](http://bugzilla.scilab.org/show_bug.cgi?id=12862): `intsplin` no longer integrated the imaginary part of given ordinates.
index 323efa3..9bc1004 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-* Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
-*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
  *
  * This file is hereby licensed under the terms of the GNU GPL v2.0,
  * and continues to be available under such terms.
  * For more information, see the COPYING file which you should have received
  * along with this program.
-*
+ *
 -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="xmlXPath" xml:lang="en">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
+        xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
+        xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
+        xmlns:scilab="http://www.scilab.org" xml:id="xmlXPath" xml:lang="en">
     <refnamediv>
         <refname>xmlXPath</refname>
         <refpurpose>Make a XPath query on a XML document</refpurpose>
@@ -21,7 +24,8 @@
     <refsynopsisdiv>
         <title>Syntax</title>
         <synopsis>
-            result = xmlXPath(xmlObj, queryStr [, namespaces])
+            result = xmlXPath(xmlObj, queryStr)
+            result = xmlXPath(xmlObj, queryStr, namespaces)
         </synopsis>
     </refsynopsisdiv>
     <refsection>
     </refsection>
     <refsection>
         <title>Description</title>
-        <para>Make a XPath query on a document or in starting on an element. If you need to use namespaces, then you must define them in using the optional argument. XML namespaces are defined in the first tag with the keyword "xmlns".</para>
         <para>
-            For more information about XPath, you can read the <ulink url="http://www.w3.org/TR/1999/REC-xpath-19991116/">W3C recommandation</ulink>.
+            Make a XPath query on a document or in starting on an element. If you need to use
+            namespaces, then you must define them in using the optional argument. XML namespaces are
+            defined in the first tag with the keyword "xmlns".
+        </para>
+        <para>
+            For more information about XPath, you can read the
+            <ulink url="http://www.w3.org/TR/1999/REC-xpath-19991116/">W3C recommandation</ulink>.
         </para>
     </refsection>
     <refsection>
 
     xmlDelete(doc);
     ]]></programlisting>
+    <para>
+        <emphasis role="bold">Getting the XML comments:</emphasis>
+    </para>
+    <programlisting ole="example"><![CDATA[
+    doc = xmlRead(SCI+"/modules/ui_data/etc/newsfeed.xml");
+    c = xmlXPath(doc, "//comment()");   // do not forget the trailing ()
+    c.content'
+
+    xmlDelete(doc);
+    ]]></programlisting>
+    <screen><![CDATA[
+--> c.content'
+ ans  =
+! RSS Feed URL                                                        !
+! automatic news change interval time (in ms), set to -1 to disable   !
+! periodic feed update interval time (in ms), set to -1 to disable    !
+]]></screen>
     </refsection>
     <refsection role="see also">
         <title>See also</title>
index fe53d18..be61889 100644 (file)
  * along with this program.
 *
 -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="xmlXPath" xml:lang="ja">
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
+        xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
+        xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
+        xmlns:scilab="http://www.scilab.org" xml:id="xmlXPath" xml:lang="ja">
     <refnamediv>
         <refname>xmlXPath</refname>
         <refpurpose>XML文書にXPathクエリを作成する</refpurpose>
@@ -21,7 +24,8 @@
     <refsynopsisdiv>
         <title>呼び出し手順</title>
         <synopsis>
-            result = xmlXPath(xmlObj, queryStr [, namespaces])
+            result = xmlXPath(xmlObj, queryStr)
+            result = xmlXPath(xmlObj, queryStr, namespaces)
         </synopsis>
     </refsynopsisdiv>
     <refsection>
         <title>例</title>
         <programlisting role="example"><![CDATA[
     doc = xmlRead("http://www.w3.org/TR/2009/REC-xml-names-20091208/xml-names-10-3e.xml");
+
     // "note"に名前が等しいノードを取得
     xp = xmlXPath(doc, "//note");
     s = size(xp);
     for i=1:s(2)
         xmlDump(xp(i))
     end
+
     // 名前が"note"に等しいノードの数を数える
     xp = xmlXPath(doc, "count(//note)")
+
     // id="Philosophy"のノードを取得
     xp = xmlXPath(doc, "//*[@id=""Philosophy""]");
     s = size(xp);
     if (s(2) <> 0) then
         xmlDump(xp(1))
     end
+
     // 属性番号が5に等しいノードを取得
     xp = xmlXPath(doc, "//*[number(@num)=5]");
     s = size(xp);
     if (s(2) <> 0) then
         xmlDump(xp(1))
     end
+
     // 'emph'という名前のノードの全ての属性の名前と内容を取得
     xp = xmlXPath(doc, "//emph/@*");
     xp.name
     xp.content
     xmlDelete(doc);
+
     // 名前空間を検索
     t = "<root xmlns:scilab=""http://www.scilab.org"">"+..
         "<scilab:a att=""foo"" rib=""bar""><b>Hello</b></scilab:a></root>"
     doc = xmlReadStr(t);
+
     // aという名前の要素を探します
     xmlXPath(doc, "//a") // => nothing
     xmlXPath(doc, "//scilab:a", ["scilab" "http://www.scilab.org"]) // => OK
+
     // このコードは失敗します:
     // xmlXPath(doc, "//scilab:a") // => エラー
     xmlDelete(doc);
+
     // 要素で始まるクエリ
     t = "<root att=""attribute""><a a1=""A1"" a2=""A2"" a3=""A3"">"+..
         "<b>Hello</b><c>Scilab</c><b>World</b></a><b>Nothing</b></root>"
     doc = xmlReadStr(t);
     e = doc.root.children(1);
+
     // eの属性を取得
     xp = xmlXPath(e, "@*");
     xmlAsText(xp)
+
     // eから'b'を取得
     xp = xmlXPath(e, "b");
     xmlAsText(xp)
     xmlDelete(doc);
     ]]></programlisting>
+    <para>
+        <emphasis role="bold">XMLコメントの取得:</emphasis>
+    </para>
+    <programlisting ole="example"><![CDATA[
+    doc = xmlRead(SCI+"/modules/ui_data/etc/newsfeed.xml");
+    c = xmlXPath(doc, "//comment()");   // do not forget the trailing ()
+    c.content'
+
+    xmlDelete(doc);
+    ]]></programlisting>
+    <screen><![CDATA[
+--> c.content'
+ ans  =
+! RSS Feed URL                                                        !
+! automatic news change interval time (in ms), set to -1 to disable   !
+! periodic feed update interval time (in ms), set to -1 to disable    !
+]]></screen>
     </refsection>
     <refsection role="see also">
         <title>参照</title>