Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
XPath Parser
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
Sylvain Schmitz
XPath Parser
Commits
ee562aa3
Commit
ee562aa3
authored
Jun 19, 2018
by
Sylvain Schmitz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reorganise EFO
parent
dcec0e8d
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
101 additions
and
12 deletions
+101
-12
relaxng/fragments-basic.xml
relaxng/fragments-basic.xml
+14
-0
relaxng/fragments-full.xml
relaxng/fragments-full.xml
+14
-0
relaxng/fragments-orig.xml
relaxng/fragments-orig.xml
+14
-0
relaxng/xpath-efo-basic.rnc
relaxng/xpath-efo-basic.rnc
+6
-1
relaxng/xpath-efo-extra.rnc
relaxng/xpath-efo-extra.rnc
+1
-1
relaxng/xpath-efo-orig.rnc
relaxng/xpath-efo-orig.rnc
+42
-0
tools/tex/bench-basic.sh
tools/tex/bench-basic.sh
+4
-4
tools/tex/bench-full.sh
tools/tex/bench-full.sh
+2
-2
tools/tex/bench-orig.sh
tools/tex/bench-orig.sh
+4
-4
No files found.
relaxng/fragments-basic.xml
View file @
ee562aa3
...
...
@@ -2,6 +2,20 @@
<!-- Meta-data about the implemented RelaxNG schemas:
original academic fragments. -->
<schemas>
<schema
file=
"xpath-efo-basic.rnc"
name=
"Core~1.0"
color=
"#ccebc5"
>
<bib>
<author>
Floris Geerts
</author>
<author>
Weifei Fan
</author>
<title>
Satisfiability of XPath Queries with Sibling Axes
</title>
<venue
volume=
"3774"
series=
"LNCS"
article=
"122--137"
abbr=
"DBLP'05"
>
Proceedings of the 10th International
Workshop on Database Programming Languages
</venue>
<year>
2005
</year>
<doi>
10.1007/11601524_8
</doi>
</bib>
</schema>
<schema
file=
"xpath-1.0-core-basic.rnc"
name=
"Core 1.0"
color=
"#ccebc5"
>
...
...
relaxng/fragments-full.xml
View file @
ee562aa3
...
...
@@ -2,6 +2,20 @@
<!-- Meta-data about the implemented RelaxNG schemas:
original academic fragments. -->
<schemas>
<schema
file=
"xpath-efo-basic.rnc"
name=
"Core~1.0"
color=
"#ccebc5"
>
<bib>
<author>
Floris Geerts
</author>
<author>
Weifei Fan
</author>
<title>
Satisfiability of XPath Queries with Sibling Axes
</title>
<venue
volume=
"3774"
series=
"LNCS"
article=
"122--137"
abbr=
"DBLP'05"
>
Proceedings of the 10th International
Workshop on Database Programming Languages
</venue>
<year>
2005
</year>
<doi>
10.1007/11601524_8
</doi>
</bib>
</schema>
<schema
file=
"xpath-1.0-core-full.rnc"
name=
"Core 1.0"
nametex=
"Core1.0"
...
...
relaxng/fragments-orig.xml
View file @
ee562aa3
...
...
@@ -2,6 +2,20 @@
<!-- Meta-data about the implemented RelaxNG schemas:
original academic fragments. -->
<schemas>
<schema
file=
"xpath-efo-orig.rnc"
name=
"Core~1.0"
color=
"#ccebc5"
>
<bib>
<author>
Floris Geerts
</author>
<author>
Weifei Fan
</author>
<title>
Satisfiability of XPath Queries with Sibling Axes
</title>
<venue
volume=
"3774"
series=
"LNCS"
article=
"122--137"
abbr=
"DBLP'05"
>
Proceedings of the 10th International
Workshop on Database Programming Languages
</venue>
<year>
2005
</year>
<doi>
10.1007/11601524_8
</doi>
</bib>
</schema>
<schema
file=
"xpath-1.0-core-orig.rnc"
name=
"Core~1.0"
color=
"#ccebc5"
>
...
...
relaxng/xpath-
1.0-efo-join
.rnc
→
relaxng/xpath-
efo-basic
.rnc
View file @
ee562aa3
...
...
@@ -23,7 +23,7 @@
default namespace = "http://www.w3.org/2005/XQueryX"
namespace xqx = "http://www.w3.org/2005/XQueryX"
include "xpath-1.0-core-
join
.rnc" {
include "xpath-1.0-core-
basic
.rnc" {
fun = element functionCallExpr {
element functionName {
attribute xqx:prefix { string "fn" }?,
...
...
@@ -36,3 +36,8 @@ include "xpath-1.0-core-join.rnc" {
}
fun |= cst.fun | fun.child | fun.name
}
op |= element ( intersectOp | neOp | equalOp | notEqualOp ) {
element firstOperand { expr },
element secondOperand { expr }
}
\ No newline at end of file
relaxng/xpath-
1.0-
efo-extra.rnc
→
relaxng/xpath-efo-extra.rnc
View file @
ee562aa3
...
...
@@ -19,7 +19,7 @@
default namespace = "http://www.w3.org/2005/XQueryX"
namespace xqx = "http://www.w3.org/2005/XQueryX"
include "xpath-1.0-efo-
join
.rnc"
include "xpath-1.0-efo-
basic
.rnc"
include "expr/extra.rnc"
...
...
relaxng/xpath-efo-orig.rnc
0 → 100644
View file @
ee562aa3
# Positive existential FO fragment of XPath in Relax NG compact
# syntax. See Geerts and Fan, Satisfiability of XPath Queries with
# Sibling Axes, _International Workshop on Database Programming
# Languages_ (DBPL 2005), Lect. Notes in Comput. Sci. 3774:122-137,
# Springer 2005, Theorem 4.
#
# Copyright (C) 2016-2018
# David Baelde, Anthony Lick and Sylvain Schmitz (ENS Cachan)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
default namespace = "http://www.w3.org/2005/XQueryX"
namespace xqx = "http://www.w3.org/2005/XQueryX"
include "xpath-1.0-core-orig.rnc" {
fun = element functionCallExpr {
element functionName {
attribute xqx:prefix { string "fn" }?,
attribute xqx:URI { string "http://www.w3.org/2005/xpath-functions" }?,
( string "true"
| string "false"
| string "boolean" )
},
element arguments { expr* }?
}
}
op |= element ( intersectOp | neOp | equalOp | notEqualOp ) {
element firstOperand { expr },
element secondOperand { expr }
}
\ No newline at end of file
tools/tex/bench-basic.sh
View file @
ee562aa3
...
...
@@ -3,17 +3,17 @@
# path to benchmark files
path
=
$1
full
=
$2
xmlarray
=(
docbook
htmlbook existdb histei marklogic xqjson
)
names
=(
DocBook
HTMLBook eXist-db HisTEI MarkLogic XQJSON
)
xmlarray
=(
docbook
teixsl htmlbook existdb histei xquerydoc marklogic xqjson guidomatic
)
names
=(
DocBook
TEI HTMLBook eXist-db HisTEI xquerydoc MarkLogic XQJSON guid-o-matic
)
echo
"
\\
toprule"
echo
"Source &
\\
textsf{Core~1.0} &
\\
textsf{Core~2.0} &
\\
textsf{Downward} &
\\
textsf{Vertical} &
\\
textsf{Forward} &
\\
textsf{EMSO
\$
^
\\
textsf 2
\$
} &
\\
textsf{NonMixing}
\\\\
"
echo
"Source &
\\
textsf{
Positive} &
\\
textsf{
Core~1.0} &
\\
textsf{Core~2.0} &
\\
textsf{Downward} &
\\
textsf{Vertical} &
\\
textsf{Forward} &
\\
textsf{EMSO
\$
^
\\
textsf 2
\$
} &
\\
textsf{NonMixing}
\\\\
"
echo
"
\\
midrule"
for
((
i
=
0
;
i <
${#
xmlarray
[@]
}
;
++i
))
do
printf
"
${
names
[
$i
]
}
"
echo
"
`
./numbers.sh
$path
/
${
xmlarray
[
$i
]
}
$2
.xml
'xpath-1.0-core-basic.rnc.*yes'
'xpath-2.0-core-basic.rnc.*yes'
'xpath-1.0-downward-basic.rnc.*yes'
'xpath-1.0-vertical-basic.rnc.*yes'
'xpath-1.0-forward-basic.rnc.*yes'
'xpath-emso2-basic.rnc.*yes'
'xpath-non-mixing-basic.rnc.*yes'
`
\\\\
"
echo
"
`
./numbers.sh
$path
/
${
xmlarray
[
$i
]
}
$2
.xml
'
<schema>'
'xpath-efo-basic.rnc.*yes'
'
xpath-1.0-core-basic.rnc.*yes'
'xpath-2.0-core-basic.rnc.*yes'
'xpath-1.0-downward-basic.rnc.*yes'
'xpath-1.0-vertical-basic.rnc.*yes'
'xpath-1.0-forward-basic.rnc.*yes'
'xpath-emso2-basic.rnc.*yes'
'xpath-non-mixing-basic.rnc.*yes'
`
\\\\
"
done
echo
"
\\
bottomrule"
tools/tex/bench-full.sh
View file @
ee562aa3
...
...
@@ -9,13 +9,13 @@ names=(DocBook TEI HTMLBook eXist-db HisTEI xquerydoc MarkLogic XQJSON guid-o-ma
#names=(DocBook HTMLBook eXist-db HisTEI MarkLogic XQJSON)
echo
"
\\
toprule"
echo
"Source & queries &
EFO & EFO-Xtra &
\\
textsf{Core~1.0} & Core1
-Xtra
\\
textsf{Core~2.0} &
\\
textsf{Downward} &
\\
textsf{Vertical} &
\\
textsf{Forward} &
\\
textsf{EMSO
\$
^
\\
textsf 2
\$
} &
\\
textsf{NonMixing}
\\\\
"
echo
"Source & queries &
\\
textsf{Positive} &
\\
textsf{Positive}-Xtra &
\\
textsf{Core~1.0} &
\\
textsf{Core~1.0}
-Xtra
\\
textsf{Core~2.0} &
\\
textsf{Downward} &
\\
textsf{Vertical} &
\\
textsf{Forward} &
\\
textsf{EMSO
\$
^
\\
textsf 2
\$
} &
\\
textsf{NonMixing}
\\\\
"
echo
"
\\
midrule"
for
((
i
=
0
;
i <
${#
xmlarray
[@]
}
;
++i
))
do
printf
"
${
names
[
$i
]
}
"
echo
"
`
./numbers.sh
$path
/
${
xmlarray
[
$i
]
}
$2
.xml
'<schemas>'
'xpath-
1.0-efo-join.rnc.*yes'
'xpath-1.0
-efo-extra.rnc.*yes'
'xpath-1.0-core-full.rnc.*yes'
'xpath-1.0-core-extra.rnc.*yes'
'xpath-2.0-core-join.rnc.*yes'
'xpath-1.0-downward-last.rnc.*yes'
'xpath-1.0-vertical-full.rnc.*yes'
'xpath-1.0-forward-last.rnc.*yes'
'xpath-emso2-full.rnc.*yes'
'xpath-non-mixing-basic.rnc.*yes'
`
\\\\
"
echo
"
`
./numbers.sh
$path
/
${
xmlarray
[
$i
]
}
$2
.xml
'<schemas>'
'xpath-
efo-basic.rnc.*yes'
'xpath
-efo-extra.rnc.*yes'
'xpath-1.0-core-full.rnc.*yes'
'xpath-1.0-core-extra.rnc.*yes'
'xpath-2.0-core-join.rnc.*yes'
'xpath-1.0-downward-last.rnc.*yes'
'xpath-1.0-vertical-full.rnc.*yes'
'xpath-1.0-forward-last.rnc.*yes'
'xpath-emso2-full.rnc.*yes'
'xpath-non-mixing-basic.rnc.*yes'
`
\\\\
"
done
echo
"
\\
bottomrule"
tools/tex/bench-orig.sh
View file @
ee562aa3
...
...
@@ -3,17 +3,17 @@
# path to benchmark files
path
=
$1
full
=
$2
xmlarray
=(
docbook
htmlbook existdb histei marklogic xqjson
)
names
=(
DocBook
HTMLBook eXist-db HisTEI MarkLogic XQJSON
)
xmlarray
=(
docbook
teixsl htmlbook existdb histei xquerydoc marklogic xqjson guidomatic
)
names
=(
DocBook
TEI HTMLBook eXist-db HisTEI xquerydoc MarkLogic XQJSON guid-o-matic
)
echo
"
\\
toprule"
echo
"Source &
\\
textsf{Core~1.0} &
\\
textsf{Core~2.0} &
\\
textsf{Downward} &
\\
textsf{Vertical} &
\\
textsf{Forward} &
\\
textsf{EMSO
\$
^
\\
textsf 2
\$
} &
\\
textsf{NonMixing}
\\\\
"
echo
"Source &
\\
textsf{
Positive} &
\\
textsf{
Core~1.0} &
\\
textsf{Core~2.0} &
\\
textsf{Downward} &
\\
textsf{Vertical} &
\\
textsf{Forward} &
\\
textsf{EMSO
\$
^
\\
textsf 2
\$
} &
\\
textsf{NonMixing}
\\\\
"
echo
"
\\
midrule"
for
((
i
=
0
;
i <
${#
xmlarray
[@]
}
;
++i
))
do
printf
"
${
names
[
$i
]
}
"
echo
"
`
./numbers.sh
$path
/
${
xmlarray
[
$i
]
}
$2
.xml
'xpath-1.0-core-orig.rnc.*yes'
'xpath-2.0-core-orig.rnc.*yes'
'xpath-1.0-downward-orig.rnc.*yes'
'xpath-1.0-vertical-orig.rnc.*yes'
'xpath-1.0-forward-orig.rnc.*yes'
'xpath-emso2-orig.rnc.*yes'
'xpath-non-mixing-orig.rnc.*yes'
`
\\\\
"
echo
"
`
./numbers.sh
$path
/
${
xmlarray
[
$i
]
}
$2
.xml
'
<schema>'
'xpath-efo-orig.rnc.*yes'
'
xpath-1.0-core-orig.rnc.*yes'
'xpath-2.0-core-orig.rnc.*yes'
'xpath-1.0-downward-orig.rnc.*yes'
'xpath-1.0-vertical-orig.rnc.*yes'
'xpath-1.0-forward-orig.rnc.*yes'
'xpath-emso2-orig.rnc.*yes'
'xpath-non-mixing-orig.rnc.*yes'
`
\\\\
"
done
echo
"
\\
bottomrule"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment