<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title>XML Tribune</title>
		<link>http://www.spycomponents.com/sphpblog/index.php</link>
		<description><![CDATA[]]></description>
		<copyright>Copyright 2008, spycomponents</copyright>
		<managingEditor>spycomponents</managingEditor>
		<language>en-US</language>
		<generator>SPHPBLOG 0.4.8</generator>
		<item>
			<title>An Ant task to transform XSL with AltovaXML - Step 3 - Creating the Java project</title>
			<link>http://www.spycomponents.com/sphpblog/index.php?entry=entry080826-223510</link>
			<description><![CDATA[After playing around a little bit with the AltovaXML Java API in the first simple project I created I wanted to build the actual Java package to get the Ant task class.<br /><br />So I opened again Eclipse and added a new Java project. Then I added a package with the name altovaxml.transformxslt2 to this project using the right-click menu and the &quot;New | Package&quot; command from there. On the package itself I added a new class with the name TransformXSLT2 again with the right-click menu and now with the &quot;New | Class&quot; command.<br /><br />From the Ant documentation I know that the class of the new Ant task has to &quot;extend&quot; the class Task. The actual action of the task is done in the execute() method which can throw a BuildException. Therefore we have some references here. We need the types ant.Task and ant.BuildException. You can find those in the external ant.jar package which is located in the lib folder of your ant installation. In my case: C:\Projects\apache-ant-1.7.1\lib\ant.jar. I added the ant.jar as external package to the Java project.<br /><br />To make the types visible we need to import them. Together with the AltovaXML import the first lines of the new class are:<br /><br /><code><br />package altovaxml.transformxslt2;<br /><br />import com.altova.engines.*;<br /><br />import org.apache.tools.ant.BuildException;<br />import org.apache.tools.ant.Task;<br /><br />public class TransformXSLT2 extends Task<br />{<br />}<br /></code><br />]]></description>
			<category>General</category>
			<guid isPermaLink="true">http://www.spycomponents.com/sphpblog/index.php?entry=entry080826-223510</guid>
			<author>spycomponents</author>
			<pubDate>Tue, 26 Aug 2008 20:35:10 GMT</pubDate>
			<comments>http://www.spycomponents.com/sphpblog/comments.php?y=08&amp;m=08&amp;entry=entry080826-223510</comments>
		</item>
		<item>
			<title>An Ant task to transform XSL with AltovaXML - Step 2 - Eclipse</title>
			<link>http://www.spycomponents.com/sphpblog/index.php?entry=entry080825-214820</link>
			<description><![CDATA[<b>Step 2 - Getting a Java IDE</b> <br /><br />A big step for me, a small step for the Ant task.<br /><br />Luckily AltovaXML provides a Java API. Therefore it shouldn&#039;t be a problem to define an Ant task for it also. However, I&#039;m not really a big fan of Java (but it is nothing wrong with Java of course) so how to create the Ant Java class I will need to call AltovaXML? The time has come that I need to install a Java IDE. As I have a little bit of experience with Eclipse I took this one from  <a href="http://www.eclipse.org/" target="_blank" >http://www.eclipse.org/</a> .<br /><br />Installing the Eclipse IDE is actually just dragging the eclipse folder to your Programs/Tools or whatever location you like.<br /><br />In order to get familiar with the AltovaXML Java API I created a new project. I also added the AltovaXML .jar as an external JAR to the Java project (you can find this .jar at C:\Program files\Altova\AltovaXML2008\AltovaXML.jar). Now everything was ready to start playing around a little bit...]]></description>
			<category>General</category>
			<guid isPermaLink="true">http://www.spycomponents.com/sphpblog/index.php?entry=entry080825-214820</guid>
			<author>spycomponents</author>
			<pubDate>Mon, 25 Aug 2008 19:48:20 GMT</pubDate>
			<comments>http://www.spycomponents.com/sphpblog/comments.php?y=08&amp;m=08&amp;entry=entry080825-214820</comments>
		</item>
		<item>
			<title>The goal: Defining an Ant task to transform XSL with AltovaXML</title>
			<link>http://www.spycomponents.com/sphpblog/index.php?entry=entry080824-111811</link>
			<description><![CDATA[After reading about Ant tasks it came to my mind to define a task to run XSL transformations using AltovaXML. Ok, I have to admit that this is actually only the starting point for something else. The final goal is to add Ant functionalities to  <a href="http://www.spycomponents.com/ValidatorBuddy.htm" target="_blank" >XML ValidatorBuddy</a> . A typical scenario would be to run a batch validation and to call any Ant task afterwards. Transforming the output XML to HTML and put it on a server for example.<br /><br /><b>Step 1 - Installation</b><br /><br />The weg page of the Apache Ant project is:  <a href="http://ant.apache.org" target="_blank" >http://ant.apache.org</a> I downloaded the version 1.7.1 ZIP archive which has about 11 MB. I simply copied the content of this archive to my Projects folder.<br /><br />Next step is to setup the environment. This means to set the ANT_HOME environment variable in Windows to the Ant installation folder. In my case C:\Projects\apache-ant-1.7.1. Then I added %ANT_HOME%\bin to the PATH variable also. Afterwards I was able to call &quot;ant - version&quot; almost successfully. However, the ant command complained about a missing tools.jar package. I found this file in my Java JDK folder at: C:\Program files\Java\jdk1.6.0 and learned that I need to set also the JAVA_HOME variable to this path. After doing this the &quot;ant -version&quot; command was working without any complaints. So it seems to be necessary to have a JDK installed to run Ant tasks? For sure my JRE (Java Runtime) folder doesn&#039;t provide a tools.jar file. However, for now I close the task &quot;Ant Installation&quot; as fulfilled.<br />]]></description>
			<category>General, XML</category>
			<guid isPermaLink="true">http://www.spycomponents.com/sphpblog/index.php?entry=entry080824-111811</guid>
			<author>spycomponents</author>
			<pubDate>Sun, 24 Aug 2008 09:18:11 GMT</pubDate>
			<comments>http://www.spycomponents.com/sphpblog/comments.php?y=08&amp;m=08&amp;entry=entry080824-111811</comments>
		</item>
		<item>
			<title>Validating W3C Schema files</title>
			<link>http://www.spycomponents.com/sphpblog/index.php?entry=entry080803-233851</link>
			<description><![CDATA[Every now and then people are asking me how they can validate W3C Schema files using XML ValidatorBuddy. Sometimes they even tell me this is not possible. Of course it is possible but you need to install the AltovaXML parser for this. To clarify this better I added an own help page about  <a href="http://spycomponents.com/valbuddy/help/validating_w3c.htm" target="_blank" >how to validate W3C Schema files</a>.<br /><br />ValidatorBuddy supports a lot of XML parsers but the pre-installed Xerces parser doesn&#039;t know how to validate an .xsd file. This is the reason why you have to use AltovaXML which is also free and is also able to validate W3C Schemas.]]></description>
			<category>XML</category>
			<guid isPermaLink="true">http://www.spycomponents.com/sphpblog/index.php?entry=entry080803-233851</guid>
			<author>spycomponents</author>
			<pubDate>Sun, 03 Aug 2008 21:38:51 GMT</pubDate>
			<comments>http://www.spycomponents.com/sphpblog/comments.php?y=08&amp;m=08&amp;entry=entry080803-233851</comments>
		</item>
		<item>
			<title>Schematron pre-processing steps</title>
			<link>http://www.spycomponents.com/sphpblog/index.php?entry=entry080802-210124</link>
			<description><![CDATA[Rick Jelliffe posted new versions of XSLT stylesheets for Schematron validation pre-processing on the  <a href="http://markmail.org/message/7xlbgcb4wx4gbu22" target="_blank" >Schematron mailing list</a>. Those stylesheets enable support for includes and abstract patterns before the final skeleton XSL is applied to the schema to get the final XSL which can be used to validate the instance document.<br /><br />Especially support for includes is a big benefit on writing and managing Schematron schemas. In addition a prospective customer told me that he especially needs this support for includes too.<br /><br />Therefore I added options for this pre-process step for Schematron validation to the current build of  <a href="http://www.spycomponents.com/ValidatorBuddy.htm" target="_blank" >XML ValidatorBuddy</a>. I&#039;m confident that this release 2.4.1 will be ready during the next days and schemas with includes are then working out-of-the-box right after installation. ]]></description>
			<category>Announcement, XML</category>
			<guid isPermaLink="true">http://www.spycomponents.com/sphpblog/index.php?entry=entry080802-210124</guid>
			<author>spycomponents</author>
			<pubDate>Sat, 02 Aug 2008 19:01:24 GMT</pubDate>
			<comments>http://www.spycomponents.com/sphpblog/comments.php?y=08&amp;m=08&amp;entry=entry080802-210124</comments>
		</item>
		<item>
			<title>Feedback from the Uninstall questionnaire page</title>
			<link>http://www.spycomponents.com/sphpblog/index.php?entry=entry080720-223300</link>
			<description><![CDATA[Not often but sometimes I get feedback from the Uninstall form when somebody decides to uninstall one of the tools. I encourage people to give feedback and I also already gave free licenses away to &quot;uninstallers&quot; who provided valuable input but still get only little information from this page over the time. I&#039;m very willing to implement what people say so I can just tell you once more, please provide feedback. You can only make the tools better this way.<br /><br />However, I said I got some feedback and it told me that the user was not able to find the Help for the tool in the Start Menu group. Okay lesson learned, this one is now added to the Installer. I think my big mistake here was that I thought people read the web pages and therefore the Help before they install the software. But when I think about myself usually it is the other way round. The software gets installed and then I want that the tool guides me how to do the things. It is common that an Installer offers to open the program after finishing the installation. My tools are Shell Extensions, plugins for XMLSpy or command-line executables so far. So I need to think about something else to offer in the Installer to keep the user busy here.<br /><br />The second feedback was that the user thought there is some program to execute after installation. I think this is actually related to the one I talked before. My Start Menu group only provides an entry to the Uninstall shortcut so far. Big mistake. The next installer will also add the Online Help shortcut. Better. Unfortunately there is still nothing to execute here. Not good. But what can you provide here for a Shell Extension, a command-line tool or a plugin?<br /><br />I need to find something fancy here...]]></description>
			<category>General</category>
			<guid isPermaLink="true">http://www.spycomponents.com/sphpblog/index.php?entry=entry080720-223300</guid>
			<author>spycomponents</author>
			<pubDate>Sun, 20 Jul 2008 20:33:00 GMT</pubDate>
			<comments>http://www.spycomponents.com/sphpblog/comments.php?y=08&amp;m=07&amp;entry=entry080720-223300</comments>
		</item>
		<item>
			<title>TagSoup in XMLSpy</title>
			<link>http://www.spycomponents.com/sphpblog/index.php?entry=entry080702-211603</link>
			<description><![CDATA[TagSoup is a popular tool to clean-up HTML similar to HTMLTidy. It allows you to create a well-formed .xhtml file from your input .html. From  <a href="http://home.ccil.org/~cowan/XML/tagsoup/#what" target="_blank" >TagSoup Web page</a> : &quot;It does guarantee well-structured results: tags will wind up properly nested, default attributes will appear appropriately, and so on.&quot;<br /><br />To use TagSoup on your PC you just need to copy the .jar file to any folder on your harddrive. You can get the .jar from  <a href="http://home.ccil.org/~cowan/XML/tagsoup/tagsoup-1.2.jar" target="_blank" >tagsoup-1.2.jar</a> here. I simply copied the file to my C:\xml folder and will also use this path later in XMLSpy to enable the tool there.<br /><br />So how can you use TagSoup then in XMLSpy? You need to have  <a href="http://www.spycomponents.com/FileCommander_PRO.htm" target="_blank" >File Commander PRO</a> installed. The plugin provides support for External Tools in the XML editor and we are going to add TagSoup as an external tool.<br /><br />To open the settings dialog for external tools go to the Settings tab of the plugin and push the &quot;Tools&quot; button. You can then add TagSoup in the following dialog:<br /><br /> <img src="images/tagsoup_settings.gif" width="500" height="341" border="0" alt="" /> <br /><br />Add a new tool and give it a name. Surprisingly I took &quot;TagSoup&quot;. Then you need to provide the command and the arguments. This is a little bit tricky because TagSoup just writes the output to the standard output and doesn&#039;t create a file. In addition it expects the filename as URI (well it does but luckily it accepts backward slashes). Therefore we provide as arguments:<br /><br />/c java -jar C:\xml\tagsoup-1.2.jar &quot;file:///$(ActiveDocPath)&quot; &gt; &quot;$(ActiveDocFolder)\$(ActiveDocName).xhtml&quot;<br /><br />This line takes the current document in XMLSpy, which should be a HTML file, and creates a new file with .xhtml as file extension. This means shortly after pushing the button for the External Tool on the plugin window you can open the new XHTML file in XMLSpy. It will be written to the same folder as the source HTML.]]></description>
			<category>XMLSpy</category>
			<guid isPermaLink="true">http://www.spycomponents.com/sphpblog/index.php?entry=entry080702-211603</guid>
			<author>spycomponents</author>
			<pubDate>Wed, 02 Jul 2008 19:16:03 GMT</pubDate>
			<comments>http://www.spycomponents.com/sphpblog/comments.php?y=08&amp;m=07&amp;entry=entry080702-211603</comments>
		</item>
		<item>
			<title>A dialog for XML batch validation</title>
			<link>http://www.spycomponents.com/sphpblog/index.php?entry=entry080626-115900</link>
			<description><![CDATA[I finished working on the dialog for XML batch validation which can be used directly from the Windows File Explorer. This is how it looks like:<br /><br /> <img src="images/valbuddy_batch_dlg.gif" width="443" height="524" border="0" alt="" /> <br /><br />The dialog allows to set all options which are available for the batch validation provided by the valbuddy.exe command-line tool. In fact the dialog allows to load and create the XML setting files and calls this tool to run the batch.<br /><br />The big benefit of the dialog is that it is no longer necessary to create the XML setting files manually. Instead you simply work from the File Explorer.]]></description>
			<category>XML</category>
			<guid isPermaLink="true">http://www.spycomponents.com/sphpblog/index.php?entry=entry080626-115900</guid>
			<author>spycomponents</author>
			<pubDate>Thu, 26 Jun 2008 09:59:00 GMT</pubDate>
			<comments>http://www.spycomponents.com/sphpblog/comments.php?y=08&amp;m=06&amp;entry=entry080626-115900</comments>
		</item>
		<item>
			<title>Searching for XML files</title>
			<link>http://www.spycomponents.com/sphpblog/index.php?entry=entry080620-104841</link>
			<description><![CDATA[I&#039;m currently working on the next release of XML ValidatorBuddy and I just added code to run a batch validation in a &quot;test&quot; mode. This means everything is processed as it would be for the real batch except that no validation is performed. So you get a log file with all files which would be validated very quickly. This way you can see how many files are affected and also exactly which ones.<br /><br />While I was testing the code it came to my mind that this feature can be used for a nice additional benefit: You can also search for your XML instance files and get a nice list of all files as XML structure. On my C drive it took 8 minutes to find more than 8000 XML documents out of 250.000 files in 23.000 folders (using the xinclude option to create the log file should make it even faster).<br /><br />And then another new feature came to my mind. I will enable the batch process to take a log file as input for processing. This is a good starting point for any functionality which compares different batch runs.]]></description>
			<category>XML</category>
			<guid isPermaLink="true">http://www.spycomponents.com/sphpblog/index.php?entry=entry080620-104841</guid>
			<author>spycomponents</author>
			<pubDate>Fri, 20 Jun 2008 08:48:41 GMT</pubDate>
			<comments>http://www.spycomponents.com/sphpblog/comments.php?y=08&amp;m=06&amp;entry=entry080620-104841</comments>
		</item>
		<item>
			<title>Tools are fun</title>
			<link>http://www.spycomponents.com/sphpblog/index.php?entry=entry080616-173808</link>
			<description><![CDATA[I saw the BOSCH IXO screwdriver at the DIY (hardware) store and as I wanted to attach a board in the bathroom anyways I bought it. I have to admit this is the first cordless screwdriver I own and I&#039;m really impressed how much easier it is to drive the screws into the wall now ;-)<br /><br />If you have the right tools working can be fun. Of course this is also true for XML tools...]]></description>
			<category>General</category>
			<guid isPermaLink="true">http://www.spycomponents.com/sphpblog/index.php?entry=entry080616-173808</guid>
			<author>spycomponents</author>
			<pubDate>Mon, 16 Jun 2008 15:38:08 GMT</pubDate>
			<comments>http://www.spycomponents.com/sphpblog/comments.php?y=08&amp;m=06&amp;entry=entry080616-173808</comments>
		</item>
	</channel>
</rss>

