Test Machine

Test machine allow to run all software of the QuiX-Tool Suite (QuiXPath, QuiXSLT, QuiXSchematron) on a remote machine. The QuiX-Proc Team provides comprehensive sample sets that you can adapt to your needs. Moreover, for dealing with your own large XML documents, upload them on the test machine.

How do I get a login?

To request a login, click here.

How to connect to the server?

To connect to ‘links-xml-streaming’ server you must first ssh to ‘links-xml-streaming.lille.inria.fr’

> ssh sshLogin@links-xml-streaming.lille.inria.fr

How to check that you are in your own folder?


>pwd
/home/sshLogin

How to execute QuiXPath ?

The quixpath executable must be invoke with two parameters: an xpath query and a xml file. Its result is the annotated stream.

In the following example, we run the query //a (select all node labeled by ‘a’) over the document: <a/>


> quixpath //a /share/example.xml
<a></a>

The quixpath executable must be invoke with two parameters: the query, the input document. The stepByStep option alows to see the innerworking of the algorithm.
<query> <input file> [–stepByStep] [–outPutMode subTree|quixEvent]

Troubleshooting:

Problem:
quixpath //a[not(b)] /share/example.xml
syntax error near unexpected token `(‘

Solution:
Protect your query with double quotes
quixpath “//a[not(b)]” /share/example.xml

How to execute QuiXSLT ?

The quixslt executable must be invoke with three parameters: the stylesheet, the input document and the output document:
<stylesheet> [<input file> [<output file>]]

In the following example, we run the xslt sheet that finds all the a-node over the document: <a/>

> quixslt /share/xslt/findA.xslt /share/example.xml
 <?xml version="1.0" encoding="UTF-8"?><template xmlns="">
  find a
 </template>
> less /share/xslt/findA.xslt
<?xml version="1.0"?>
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
   <template>
    <xsl:for-each select="a">
     find a
    </xsl:for-each>
   </template>
  </xsl:template>
</xsl:stylesheet>

How to execute XFun

The xfunexecutable must be invoke with three parameters: the stylesheet, the input document and the output document:
<xfun program> [<input file> [<output file>]]

In the following example, we run an xfun program that finds all the a-node over the document: <a/>


> xfun /share/xfun/findA.xfun /share/example.xml
Find an a-node.
> less /share/xfun/findA.xfun
<?xml version="1.0" encoding="UTF-8"?>
<xfun xmlns="http://x-fun.lille.inria.fr">
  <for xmlns=""
  node="context"
  from="root"
  select="descendant-or-self::a">
   <text>Find an a-node.</text>
  </for>
</xfun>

How to execute QuiXSchematron

The quixschematron executable must be invoke with two parameters:
<schema> <document>

In the following example, we run an schema that ckecks the structure of a list of persons.


> quixschematron /share/schematron/dataStructure.sch /share/listOfPersons.xml
The number of children should be more than 2: /list[1]/Person[1]
The person must have an Id attribute: /list[1]/Person[2]
The Name of Person should not be empty: /list[1]/Person[2]
The first child of a Persone should be a Name: /list[1]/Person[3]
The Name of Person should not be empty: /list[1]/Person[4]
The person must have an Id attribute: /list[1]/Person[7]
The first child of a Persone should be a Name: /list[1]/Person[7]
The Name of Person should not be empty: /list[1]/Person[7]

Two option are available: –numbering numbers the output message while –progress <frequence > outputs the ‘#’ symbol each frequence events.


>quixschematron --numbering --progress 50 /share/schematron/dataStructure.sch /share/listOfPersons.xml
1: The number of children should be more than 2: /list[1]/Person[1]
#
#
2: The person must have an Id attribute: /list[1]/Person[2]
3: The Name of Person should not be empty: /list[1]/Person[2]
#
4: The first child of a Persone should be a Name: /list[1]/Person[3]
#
5: The Name of Person should not be empty: /list[1]/Person[4]
#
#
#
6: The person must have an Id attribute: /list[1]/Person[7]
7: The first child of a Persone should be a Name: /list[1]/Person[7]
8: The Name of Person should not be empty: /list[1]/Person[7]

How to upload your own XML file?

The links-xml-streaming server supports SCP only. scp stands for secure cp (copy), which means that you can copy files across an ssh connection that will be encrypted.


> scp myDoc.xml $user@links-xml-streaming.lille.inria.fr:/home/$user

How to create a small XML file via command line?


> echo “<a><b/></a>” > smallXMLfile.xml

You can also use your favorit editor like vi, vim or emacs.

How do I install unstable releases

For each software of the QuiX Suite, QuiXProc team maintans two releases: stable and unstable. The unstable version in published every day by our automatic build system. The version==unstable option is the way to play with it:

> quixpath --version=unstable //a /share/example.xml
Unstable release of quixpath
START_SEQUENCE;false
START_DOCUMENT ;false
START_ELEMENT a;true
END_ELEMENT a;true
END_DOCUMENT ;false
END_SEQUENCE;false
> quixpath --version=unstable --version
Unstable release of quixpath
QuiXPath version "2_0_0" (build 13_10_07)

How to determine the behavior of my shell?

Edit the .bash_profile file that is on your home directory.

QuiX-Tool Suite
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.