Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
xpath中从不使用哪些字符?_Xpath - Fatal编程技术网

xpath中从不使用哪些字符?

xpath中从不使用哪些字符?,xpath,Xpath,我正在尝试构建一个DSL,它将包含许多XPath作为参数。我是XPath新手,我需要一个XPath语法中从未使用过的字符,这样我就可以在脚本的一行上划分XPath的数量。我的问题:哪些字符不是XPath语法的一部分?空字符 真的。因为XPath应该支持任何XML文档,所以它必须能够匹配包含任何允许的Unicode字符的文本节点。但是,XML不允许使用一个字符:空字符 好吧,这并不完全正确,但它是最简单的。与XML1.1一样,除了Unicode Null之外,还支持控制字符。但是,根据,还有一些其

我正在尝试构建一个DSL,它将包含许多XPath作为参数。我是XPath新手,我需要一个XPath语法中从未使用过的字符,这样我就可以在脚本的一行上划分XPath的数量。我的问题:哪些字符不是XPath语法的一部分?

空字符

真的。因为XPath应该支持任何XML文档,所以它必须能够匹配包含任何允许的Unicode字符的文本节点。但是,XML不允许使用一个字符:空字符

好吧,这并不完全正确,但它是最简单的。与XML1.1一样,除了Unicode Null之外,还支持控制字符。但是,根据,还有一些其他字符可以选择:代理项对(作为字符,而不是表示非BMP字符的正确编码的八位字节),以及0x20之前的任何字符,除了换行符、回车符和制表符

另一个好的猜测是任何私人使用的字符,因为它不太可能被您的输入文档使用,但是,这并不能保证,并且您要求使用“从不”

我正在尝试构建一个DSL,它将包含许多XPath作为参数

很多人在DSL中使用XML,这就是使用XML的方式:

<paths>
  <path>/a/b/c/d</path>
  <path>/w/x/y/z</path>
</path>

/a/b/c/d
/w/x/y/z
那么,我们如何将这一点与以下事实相协调:
<paths>
  <path>/a/b/c/d[e &lt; 3]</path>
  <path>/w/x/y/z[v &lt; 2]</path>
</path>