|
Packit |
8fb591 |
# Known Issues
|
|
Packit |
8fb591 |
|
|
Packit |
8fb591 |
## Printer crash
|
|
Packit |
8fb591 |
|
|
Packit |
8fb591 |
There is a bug in Clang 3.4.2 that causes wrong data tree traversal, which results in a crash.
|
|
Packit |
8fb591 |
It can occur during any traversal but it was observed in XML printer while printing default
|
|
Packit |
8fb591 |
values. The solution is to compile using either GCC or newer version of Clang. Starting
|
|
Packit |
8fb591 |
from which version it works we do not exactly know. Clang 5.0.0 works fine.
|
|
Packit |
8fb591 |
|
|
Packit |
8fb591 |
## XPath Expressions
|
|
Packit |
8fb591 |
|
|
Packit |
8fb591 |
### Axes
|
|
Packit |
8fb591 |
|
|
Packit |
8fb591 |
libyang uses its own XPath implementation to evaluate XPath expressions. The implementation
|
|
Packit |
8fb591 |
completely lacks support for [axes](https://www.w3.org/TR/1999/REC-xpath-19991116/#axes).
|
|
Packit |
8fb591 |
Nevertheless, it should always be possible to write equivalent expressions without
|
|
Packit |
8fb591 |
the use of axes.
|
|
Packit |
8fb591 |
|
|
Packit |
8fb591 |
### Deviation Must
|
|
Packit |
8fb591 |
|
|
Packit |
8fb591 |
If there are any XPath expressions defined as part of a deviation, they include literals,
|
|
Packit |
8fb591 |
which are directly compared with identityref nodes (testing whether an identityref has a
|
|
Packit |
8fb591 |
specific identity value), and the identity literal used is from the deviation module
|
|
Packit |
8fb591 |
(meaning it could be written without a prefix), the prefix is mandatory for libyang
|
|
Packit |
8fb591 |
to evaluate the XPath expression correctly.
|