sedna在windows和Linux下的xquery区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/details/46789771

源用昨天的例子,把book.xml加载入books数据库的名为novel的collection里。

<books>
	<book>
		<name>The Call Of Wild</name>
		<author>Jack London</author>
		<price>32.5$</price>
		<date>2015-7-6</date>
	</book>
	<book>
		<name>Wuthering Heights</name>
		<author>Emily Bronte</author>
		<price>40$</price>
		<date>2015-7-5</date>
	</book>
</books>


查询一下里面的内容:

se_term -query "for $p in collection('novel')/books return $p" books

在Windows下的结果是这样:

D:\sedna\bin>se_term -query "for $p in collection('novel')/books return $p" book
s
<books>
  <book>
    <name>The Call Of Wild</name>
    <author>Jack London</author>
    <price>32.5$</price>
    <date>2015-7-6</date>
  </book>
  <book>
    <name>Wuthering Heights</name>
    <author>Emily Bronte</author>
    <price>40$</price>
    <date>2015-7-5</date>
  </book>
</books>

在Linux下的结果:

[xuzhina@localhost bin]$ ./se_term -query "for $p in collection('novel')/books return $p" books

SEDNA Message: ERROR XPST0003
It is a static error if an expression is not a valid instance of the grammar defined in A.1 EBNF.
Details: at (1:6), syntax error, unexpected in, expecting end of file or statement separator
         

for  in collection('novel')/books return 

如果在Linux下改为这样:

se_term -query "for \$p in collection('novel')/books return \$p" books

结果就对了:

[xuzhina@localhost bin]$ ./se_term -query "for \$p in collection('novel')/books return \$p" books
<books>
  <book>
    <name>The Call Of Wild</name>
    <author>Jack London</author>
    <price>32.5$</price>
    <date>2015-7-6</date>
  </book>
  <book>
    <name>Wuthering Heights</name>
    <author>Emily Bronte</author>
    <price>40$</price>
    <date>2015-7-5</date>
  </book>
</books>


猜你喜欢

转载自blog.csdn.net/xuzhina/article/details/46789771