summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2016-09-20 11:39:25 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2016-09-22 06:38:34 +0000
commit973105d9fb3372910255825e7395fb1156e24c02 (patch)
tree6cbb6b3acf7ce7e1d00ce02cf536238affc59a2a
parent21cc71ced3565585f7a2f94875ed845355ab2064 (diff)
downloadqtxmlpatterns-973105d9fb3372910255825e7395fb1156e24c02.tar.gz
Add script to regenerate files using qtokenautomaton
Add script and update README of qtokenautomaton accordingly. Change-Id: If18167a413280c4b65d8fff49eb0aa3cf05eb23e Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
-rw-r--r--src/xmlpatterns/qtokenautomaton/README12
-rwxr-xr-xsrc/xmlpatterns/qtokenautomaton/regenerate.sh38
2 files changed, 48 insertions, 2 deletions
diff --git a/src/xmlpatterns/qtokenautomaton/README b/src/xmlpatterns/qtokenautomaton/README
index 8c5e552..32c348f 100644
--- a/src/xmlpatterns/qtokenautomaton/README
+++ b/src/xmlpatterns/qtokenautomaton/README
@@ -56,8 +56,16 @@ Using it is approached as follows:
--schema qtokenautomaton.xsd yourFile.xml`
3. Produce the C++ files by invoking the stylesheet with an XSL-T 2.0
- processor[1]. For instance, with the implementation Saxon, this would be:
- `java net.sf.saxon.Transform -xsl:qautomaton2cpp.xsl yourFile.xml`
+ processor[1], for example Saxon.
+
+ If the Java SDK is installed, it can be invoked by:
+ java net.sf.saxon.Transform -xsl:qautomaton2cpp.xsl yourFile.xml
+
+ Debian provides a command line utility saxonb-xslt for this:
+ sudo apt-get install libsaxonb-java
+ saxonb-xslt -ext:on -xsl:qautomaton2cpp.xsl -s:yourFile.xml
+
+ The script regenerate.sh is provided to do this.
4. Include the produced C++ files with your build system.
diff --git a/src/xmlpatterns/qtokenautomaton/regenerate.sh b/src/xmlpatterns/qtokenautomaton/regenerate.sh
new file mode 100755
index 0000000..23b49b1
--- /dev/null
+++ b/src/xmlpatterns/qtokenautomaton/regenerate.sh
@@ -0,0 +1,38 @@
+#/bin/sh -x
+
+#############################################################################
+##
+## Copyright (C) 2016 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the build tools of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+cd $(dirname "$0")/..
+saxonb-xslt -ext:on -xsl:qtokenautomaton/qautomaton2cpp.xsl -s:schema/tokens.xml -o:schema/qxsdschematoken.cpp
+saxonb-xslt -ext:on -xsl:qtokenautomaton/qautomaton2cpp.xsl -s:parser/qxslttokenlookup.xml -o:parser/qxslttokenlookup.cpp