<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WinSoft.se &#187; XQT</title>
	<atom:link href="http://www.winsoft.se/tag/xqt/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.winsoft.se</link>
	<description>Development with focus on Visual Basic .NET</description>
	<lastBuildDate>Thu, 26 Jan 2012 19:28:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>XQT 1.3</title>
		<link>http://www.winsoft.se/2012/01/xqt-1-3/</link>
		<comments>http://www.winsoft.se/2012/01/xqt-1-3/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 20:26:35 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Programs]]></category>
		<category><![CDATA[XQT]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1842</guid>
		<description><![CDATA[XQT, the XPath Query Tool, is updated to version 1.3. This version lets you select a node in the tree, and copy it&#8217;s path. Also, some bugs are fixed and a few interface inprovements are made. Check the Programs page for download link.]]></description>
			<content:encoded><![CDATA[<p>XQT, the XPath Query Tool, is updated to version 1.3. This version lets you select a node in the tree, and copy it&#8217;s path. Also, some bugs are fixed and a few interface inprovements are made. Check the <a href="http://www.winsoft.se/programs/">Programs</a> page for download link.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2012/01/xqt-1-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QXT version 1.2</title>
		<link>http://www.winsoft.se/2010/04/qxt-version-1-2/</link>
		<comments>http://www.winsoft.se/2010/04/qxt-version-1-2/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 16:17:21 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Programs]]></category>
		<category><![CDATA[XQT]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=1119</guid>
		<description><![CDATA[The possibility to save the currently loaded XML document is added. A new option is added to the Options dialog that lets users choose if XML editing i allowed in the loaded document (&#8220;Allow XML editing&#8221;). When the &#8220;Allow XML editing&#8221; option is checked, you can double click on a attribute to change its value. [...]]]></description>
			<content:encoded><![CDATA[<p>The possibility to save the currently loaded XML document is added.</p>
<p>A new option is added to the Options dialog that lets users choose if XML editing i allowed in the loaded document (&#8220;Allow XML editing&#8221;).</p>
<p>When the &#8220;Allow XML editing&#8221; option is checked, you can double click on a attribute to change its value.</p>
<p><a href="http://www.winsoft.se/programs/xqt/">Open the XQT download page.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2010/04/qxt-version-1-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changes XQT in version 1.1</title>
		<link>http://www.winsoft.se/2010/01/changes-xqt-in-version-1-1/</link>
		<comments>http://www.winsoft.se/2010/01/changes-xqt-in-version-1-1/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 20:13:38 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[XQT]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=902</guid>
		<description><![CDATA[These are the changes made in XQT version 1.1, available here. The text output bug is fixed. The Text Output Window now displays correct information. An options dialog is added. From here you can control the program behavior. A query history window is added, so that you easily can see what queries has run, and [...]]]></description>
			<content:encoded><![CDATA[<p>These are the changes made in XQT version 1.1, available <a href="http://www.winsoft.se/files/XQT.msi" target="_blank">here</a>.</p>
<ul>
<li>The text output bug is fixed. The Text Output Window now displays correct information.</li>
<li>An options dialog is added. From here you can control the program behavior.</li>
<li>A query history window is added, so that you easily can see what queries has run, and re-run them by double clicking on them. You can very quickly switch between different result sets by stepping through queries with the keyboard, and press enter to bring a result set up.</li>
</ul>
<p><img alt="" src="http://imghost.winsoft.se/upload/176601264104732xqt.jpg" class="alignnone" width="634" height="400" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2010/01/changes-xqt-in-version-1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XQT at Nonags.com</title>
		<link>http://www.winsoft.se/2010/01/xqt-at-nonags-com/</link>
		<comments>http://www.winsoft.se/2010/01/xqt-at-nonags-com/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 15:26:53 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[XQT]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=900</guid>
		<description><![CDATA[XQT is listed at Nonags.com. Nonags.com checks this software for viruses and spyware, and provides a safe download link.]]></description>
			<content:encoded><![CDATA[<p>XQT is listed at <a href="http://nonags.com/freeware-xqt_3840.html" target="_blank">Nonags.com</a>. Nonags.com checks this software for viruses and spyware, and provides a safe download link.</p>
<p><a href="http://www.nonags.com/freeware-xqt_3840.html" target="_blank"><img src="http://www.nonags.com/imgs/realfreeware.png" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2010/01/xqt-at-nonags-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jämförelseoperatörer och logiska operatörer</title>
		<link>http://www.winsoft.se/2010/01/jamforelseoperatorer-och-logiska-operatorer/</link>
		<comments>http://www.winsoft.se/2010/01/jamforelseoperatorer-och-logiska-operatorer/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 17:49:17 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[XPath]]></category>
		<category><![CDATA[XQT]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=887</guid>
		<description><![CDATA[Vill du följa med i detta dokument, starta XQT och anslut dig till exempeldokumentet genom att växla till Direct mode och skriv ConnectExample RecordCollection För att välja element i XPath, skriver du sökvägen till elementen du vill ska ingå i resultatet. Genom att bara skriva Record, så får du alla skivor i XML-filen. Filter skrivs [...]]]></description>
			<content:encoded><![CDATA[<p>Vill du följa med i detta dokument, starta XQT och anslut dig till exempeldokumentet genom att växla till <em>Direct mode</em> och skriv</p>
<pre>ConnectExample RecordCollection</pre>
<p>För att välja element i XPath, skriver du sökvägen till elementen du vill ska ingå i resultatet. Genom att bara skriva Record, så får du alla skivor i XML-filen. Filter skrivs inom hakparenteser. Är du endast intresserad av skivor som släpptes ett visst år, använd jämförelseoperatören &#8220;lika med&#8221; =. Detta ger skivor släppta 1975.</p>
<pre>Record[Year="1975"]</pre>
<p>Frågan ger två skivor som svar. Vill du filtrera ytterligare, kan du använda logiska operatörer. Logiskt &#8220;och&#8221; heter <strong>and</strong> i XPath. Tänk på att XPath är skiftlägeskänsligt (<strong>And</strong> är inte samma sak som <strong>and</strong>). Denna fråga ger skivorna med Journey släppte 1975, skriv:</p>
<pre>Record[Year="1975" and Artist="Journey"]</pre>
<p>Vill du istället se skivorna släppta antingen år 1975 eller av artisten Roger Waters, använd logiskt &#8220;eller&#8221;. I XPath heter det <strong>or</strong>.</p>
<pre>Record[Year="1975" or Artist="Roger Waters"]</pre>
<p>De jämförelseoperatörer du kan använda är &#8220;lika med&#8221; (<strong>=</strong>), &#8220;inte lika med&#8221; (<strong>!=</strong>), &#8220;större än&#8221; (<strong>&gt;</strong>), &#8220;mindre än&#8221; (<strong>&lt;</strong>), &#8220;större än eller lika med&#8221; och &#8220;mindre än eller lika med&#8221; (<strong>&gt;=</strong> resp. <strong>&lt;=</strong>).</p>
<p>Denna fråga visar skivor som inte är släppta år 1975.</p>
<pre>Record[Year!="1975"]</pre>
<p>XQT finns att ladda hem från <a href="http://www.winsoft.se/programs/">denna</a> sida.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2010/01/jamforelseoperatorer-och-logiska-operatorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testa XPath-frågor med XQT</title>
		<link>http://www.winsoft.se/2010/01/testa-xpath-fragor-med-xqt/</link>
		<comments>http://www.winsoft.se/2010/01/testa-xpath-fragor-med-xqt/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 16:22:56 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[XPath]]></category>
		<category><![CDATA[XQT]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=874</guid>
		<description><![CDATA[Verktyget XQT (XPath Query Tool) kan användas för att analysera innehållet i en XML-fil, och att ställa frågor mot dokumentet och analysera svaret. Programmet innehåller ett inbyggt XML-dokument om du vill testa att formulera några enkla XPath-frågor. För att ladda det inbyggda XML-dokumentet, växla till direct mode genom att klicka på fliken märkt Direct eller [...]]]></description>
			<content:encoded><![CDATA[<p>Verktyget XQT (XPath Query Tool) kan användas för att analysera innehållet i en XML-fil, och att ställa frågor mot dokumentet och analysera svaret. Programmet innehåller ett inbyggt XML-dokument om du vill testa att formulera några enkla XPath-frågor. För att ladda det inbyggda XML-dokumentet, växla till direct mode genom att klicka på fliken märkt <em>Direct</em> eller genom att trycka <strong>Ctrl+D</strong>. Där, skriv:</p>
<pre>ConnectExample RecordCollection</pre>
<p>Tryck <strong>Enter</strong> och konstatera att resultatträdet nu visar texten Records (3 children). Expandera gärna noden i resultatträdet och undersök exempelfilen.</p>
<p><img class="alignnone" src="http://imghost.winsoft.se/upload/908261263744139xqt.jpg" alt="" width="629" height="437" /></p>
<p>(Läget <em>Edit mode</em> låter dig skriva en fråga och trycka <strong>F5</strong> för att exekvera den, medan <em>Direct mode</em> låter dig skriva en fråga och exekvera den genom att trycka <strong>Enter</strong>.)</p>
<p>XPath fungerar så att du anger sökvägen till de element du vill ha i ditt resultat. För att se vilka titlar som finns, skriv</p>
<pre>Record/Title</pre>
<p>&#8230;och tryck <strong>Enter</strong>.</p>
<p><img class="alignnone" src="http://imghost.winsoft.se/upload/724151263744351xqt.jpg" alt="" width="629" height="437" /></p>
<p>När som helst, tryck <strong>F6</strong> för att visa hela XML-dokumentet istället för svaret på den senaste frågan.</p>
<p>Två av de tre skivorna (Journey och A Night at the Opera) är släppta 1975. För att se dessa två, skriv:</p>
<pre>Record[Year="1975"]/Title</pre>
<p><img class="alignnone" src="http://imghost.winsoft.se/upload/164651263744671xqt.jpg" alt="" width="629" height="437" /></p>
<p>Alla skivor har ett identitetsnummer som attribut till Record-element. För att se listan över låtar för den skiva vars attribut är 7575, skriv:</p>
<pre>Record[@ID="7575"]/Tracks/Track</pre>
<p><img class="alignnone" src="http://imghost.winsoft.se/upload/632481263744897xqt.jpg" alt="" width="629" height="437" /></p>
<p>Som sista exempel, vill du bara titta på det första spåret, notera att spårens sekvensnummer ligger lagrade i ett attribut som heter Sequence, och skriv:</p>
<pre>Record[@ID="7575"]/Tracks/Track[@Sequence="1"]</pre>
<p>En bra guide till XPath finns här: <a href="http://www.w3schools.com/Xpath/" target="_blank">http://www.w3schools.com/Xpath/</a></p>
<p>XQT kan du ladda hem från <a href="http://www.winsoft.se/programs/" target="_self">denna sida</a> (<a href="http://www.winsoft.se/files/XQT.msi" target="_blank">direktlänk</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2010/01/testa-xpath-fragor-med-xqt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XQT is taking off after all</title>
		<link>http://www.winsoft.se/2010/01/xqt-is-taking-off-after-all/</link>
		<comments>http://www.winsoft.se/2010/01/xqt-is-taking-off-after-all/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 20:57:39 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[XQT]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=864</guid>
		<description><![CDATA[I still haven&#8217;t made the installation program for XQT, but it is getting close to a useful application now. This is how version 0.9 looks (click on it for full size): In edit mode, you can type XPath queries in the editor and press F5 to execute them. The result shows up below. If text [...]]]></description>
			<content:encoded><![CDATA[<p>I still haven&#8217;t made the installation program for <strong>XQT</strong>, but it is getting close to a useful application now. This is how version 0.9 looks (click on it for full size):</p>
<p><a href="http://imghost.winsoft.se/upload/274091263416153xqt.jpg" target="_blank"><img class="alignnone" src="http://imghost.winsoft.se/upload/274091263416153xqt.jpg" alt="" width="363" height="229" /></a></p>
<p>In <em>edit mode</em>, you can type XPath queries in the editor and press <strong>F5</strong> to execute them. The result shows up below. If text is selected when you hit <strong>F5</strong>, only the selected text will be executed. You can switch between <em>edit mode</em> and <em>direct mode</em> by clicking on the tabs or pressing <strong>Ctrl+E</strong> for <em>edit</em> and <strong>Ctrl+D</strong> for <em>direct mode</em>.</p>
<p>In <em>direct mode</em>, the query gets executed as you type it in and press <strong>Return</strong>. If you hold down <strong>Shift</strong>, a line break is created without the typed text being executed.</p>
<p>After querying, <strong>F6</strong> takes you back to the root node of the XML document you are connected to. <del datetime="2010-01-17T15:30:52+00:00">XQT.exe is located here.</del> Since 17/1 2010, the program is available from the <a href="http://www.winsoft.se/programs/" target="_self">Programs page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2010/01/xqt-is-taking-off-after-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Query tool for XML</title>
		<link>http://www.winsoft.se/2010/01/query-tool-for-xml/</link>
		<comments>http://www.winsoft.se/2010/01/query-tool-for-xml/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 21:02:22 +0000</pubDate>
		<dc:creator>Anders Hesselbom</dc:creator>
				<category><![CDATA[Microsoft .NET]]></category>
		<category><![CDATA[XQT]]></category>

		<guid isPermaLink="false">http://www.winsoft.se/?p=862</guid>
		<description><![CDATA[Today I had to be able to query XML files using XPath and view the result clean and structured. Doing this from within Visual Basic is very easy, so making a tool was an easy option. This is the user interface: The top pane is used for writing XPath queries. Below, there are three panes. [...]]]></description>
			<content:encoded><![CDATA[<p>Today I had to be able to query XML files using XPath and view the result clean and structured. Doing this from within Visual Basic is very easy, so making a tool was an easy option. This is the user interface:</p>
<p><img alt="" src="http://imghost.winsoft.se/upload/854641263328271xqt.jpg" class="alignnone" width="380" height="218" /></p>
<p>The top pane is used for writing XPath queries. Below, there are three panes. One displays the result as a tree structure, the next displays the attributes of the selected node in the tree view and the last display the source of the selected node.</p>
<p>This is the Click event of the query button:</p>
<pre class="csharpcode">
<span class="kwrd">Private</span> <span class="kwrd">Sub</span> DoExecute(<span class="kwrd">ByVal</span> XPath <span class="kwrd">As</span> <span class="kwrd">String</span>)

    <span class="rem">'Store the last executed query in case the user wants to refresh the query.</span>
    <span class="kwrd">Me</span>.LastExecutedQuery = XPath

    <span class="rem">'Clear the output textbox.</span>
    txtOutput.Text = <span class="str">""</span>

    <span class="rem">'Clear the elements tree view.</span>
    tvElements.Nodes.Clear()

    <span class="rem">'Clear the attribute list.</span>
    lvAttributes.Items.Clear()

    <span class="kwrd">If</span> XPath.Trim() = <span class="str">""</span> <span class="kwrd">Then</span>

        <span class="rem">'If no query is sent in, display the root element.</span>

        <span class="rem">'Display it in the tree (using a custom function not shown here).</span>
        <span class="kwrd">Me</span>.AddNode(Dom.DocumentElement, tvElements.Nodes)

        <span class="rem">'This is the status bar of the window.</span>
        lblResult.Text = <span class="str">"Elements in result: 1"</span>

    <span class="kwrd">Else</span>

        <span class="rem">'The query might fail.</span>
        <span class="kwrd">Try</span>

            <span class="kwrd">Dim</span> Result <span class="kwrd">As</span> Xml.XmlNodeList = Dom.DocumentElement.SelectNodes(XPath)
            <span class="kwrd">If</span> Result <span class="kwrd">Is</span> <span class="kwrd">Nothing</span> <span class="kwrd">Then</span>
                lblResult.Text = <span class="str">"Elements in result: 0"</span>
            <span class="kwrd">Else</span>
                <span class="kwrd">If</span> Result.Count = 0 <span class="kwrd">Then</span>
                    lblResult.Text = <span class="str">"Elements in result: 0"</span>
                <span class="kwrd">Else</span>
                    <span class="kwrd">Me</span>.ResultList = Result
                    lblResult.Text = <span class="str">"Elements in result: "</span> &amp; Result.Count.ToString()

                    <span class="kwrd">Dim</span> ResultNode <span class="kwrd">As</span> TreeNode = tvElements.Nodes.Add(XPath.Trim())
                    ResultNode.Tag = <span class="str">"Query"</span>
                    ResultNode.ImageIndex = 3
                    ResultNode.SelectedImageIndex = 3

                    <span class="rem">'Populate the tree structure (using a custom function not shown here).</span>
                    tvElements.BeginUpdate()
                    <span class="kwrd">For</span> <span class="kwrd">Each</span> Xn <span class="kwrd">As</span> Xml.XmlNode <span class="kwrd">In</span> Result
                        <span class="kwrd">Me</span>.AddNode(Xn, ResultNode.Nodes)
                    <span class="kwrd">Next</span>
                    tvElements.EndUpdate()

                    <span class="rem">'Expand the root node that contains the result.</span>
                    ResultNode.Expand()

                <span class="kwrd">End</span> <span class="kwrd">If</span>
            <span class="kwrd">End</span> <span class="kwrd">If</span>

        <span class="kwrd">Catch</span> ex <span class="kwrd">As</span> Exception

            <span class="rem">'If the query failed, extract the reason from the exception and display it.</span>
            lblResult.Text = <span class="str">"Elements in result: [Error]"</span>
            txtOutput.Text = <span class="str">"XPath failed."</span> &amp; ControlChars.CrLf &amp; ControlChars.CrLf &amp; ex.Message

        <span class="kwrd">End</span> <span class="kwrd">Try</span>
    <span class="kwrd">End</span> <span class="kwrd">If</span>

    <span class="rem">'Select the first node. Other panes will be updated in the AfterSelect event of the treeview.</span>
    <span class="kwrd">If</span> tvElements.Nodes.Count &gt; 0 <span class="kwrd">Then</span>
        tvElements.SelectedNode = tvElements.Nodes(0)
        tvElements.SelectedNode.EnsureVisible()
    <span class="kwrd">End</span> <span class="kwrd">If</span>

<span class="kwrd">End</span> Sub</pre>
<p>To use this, just open an XML file and click away in the tree view. You can also write XPath queries to browse a subset of the data. <del datetime="2010-01-17T15:30:55+00:00">If you want to download this early version, the exe file (.NET Framework 3.5) is located here</del> Since 17/1 2010, the program is can be downloaded from <a href="http://www.winsoft.se/programs/xqt/" target="_self">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.winsoft.se/2010/01/query-tool-for-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

