改进逻辑比较中长度>1的向量的处理。作者:Garrick Aden-Buie。
对错误消息构造进行了微小改进。迈克尔·奇里科撰稿。
当R.oo公司包是附加的,类的使用选择器不再工作。这是由于使用了等级的名称R.oo公司的基类对象,其中选择器也是使用(但不导出)与等级对于表示类选择器。因此,选择器的代码是更改为重命名类以避免任何冲突。因为它不是出口,这纯粹是一种内部变化。多亏了Francois Lemaire-Sicre报告了这个问题。
等级
大量重写内部代码以使用R6 OO系统,而不是参考类。这不会影响任何外部代码,因为结果应该与前面的实现相同,这就是为什么此更改被标记为次要更改。初始和原油性能测试(通过运行测试套件)表明R6实现生成XPath的速度大约是引用类的两倍实施。
R的最低要求版本选择器已经是增加自2.15.2到3因为这是最低要求所需的版本R6级.
2.15.2
3
已经进行了一些小的性能增强。不仅如此R6级比引用类更快,使用字符串格式已替换为字符串串联。额外的动态通过调用方法do.call()已被直接替换方法调用。
do.call()
在以前的版本中,方法有时会失踪问题现在应该得到解决。虫子似乎在核心参考类代码。通过切换到R6级,此类问题应该不再可能。
改进的方法注册XML格式和xml语言2物体。避免每次使用检查,每次只执行一次依赖包加载/卸载。
在某些环境中,中缺少引用类方法运行时。这似乎是由于他们的一些内部行为方法在对象上注册方法的包这个$运算符用于字段或方法。相反,当缺少方法,它们被手动绑定到对象。
$
对的转换器参数启用了部分匹配css_to_xpath()。而不是默认为通用转换器,将返回一个不匹配的参数并返回错误。
css_to_xpath()
通过覆盖(covr)包裹。这样可以修剪死代码,也可以识别代码区域这需要改进。次要增强包括:容忍中的空白:not(),返回了更一致的结果从解析器方法到参数解析的改进。
:not()
这个|=未分析属性匹配运算符对于通用翻译器来说是正确的。
|=
处理CSS注释未关闭的情况。中的结果评论开始删除后的所有内容(可能或可能没有产生有效的选择器)。
添加了对来自的文档的支持xml语言2包裹。
选择器现在也不严格依赖于XML包裹。如果XML格式或xml语言2包裹是礼物(需要查询选择器方法工作)然后查询选择器将开始为他们工作。这也使得选择器只能用于翻译。
查询选择器
改进对nth-*(an+b)选择器的支持。从导入css选择。
Kun Ren(#1)贡献的代码清理。
更新了描述以包含URL和BugReports字段。同时更新电子邮件地址。
修复的nth-*(an+b)伪类选择器的行为负a。Paul Tremberth为csselect做了贡献,移植到R。
转义分隔字符以支持新版本的stringr包。可能一开始就应该这样做。哈德利·威克姆报道(#5)。
将许可证更正为BSD 3条款。这是在以前使用过,但现在更明确了。
删除了“增强”字段,因为我们从中导入函数XML格式。做出这个选择是因为XML格式是必填项包,而不是可以使用的可选包。此更改和以前的更改是为了跟上最近的更改R-devel中的变化。
添加了一个引用技术报告的“引用”文件包裹。
显示()方法现在可用于内部对象,使得交互式可扩展性和错误修复更容易。这是只需包装报告()方法(镜像Python源代码)。
显示()
报告()
使用会话字符编码确定是否运行unicode测试。否则测试会中断非unicode会话。
引入了新功能查询选择器NS()和查询选择器全部NS()以简化命名空间在文档。以前这需要XPath知识。
查询选择器NS()
查询选择器全部NS()
确定的含义:空,空白不为空。
:空
使用lang()对于带有:lang()CSS选择器。
lang()
:lang()
|识别码不再产生解析错误,但现在是等同于“ident”。
|识别码
现在只在包上的非Windows平台中测试unicode检查。输出应保持一致,仅取决于当前字符集为unicode。
Python“cssselect”包的初始端口。代码非常字面上是移植的,包括测试套件。
将翻译功能包装为单个功能,css_to_xpath().
创建了两个便利功能,查询选择器()和查询选择器全部()它们反映了相同的行为web浏览器中存在的功能。查询选择器()返回一个节点,而查询选择器全部()返回节点列表。
查询选择器()
查询选择器全部()