草庐IT

算法识别

全部标签

xml - 3 路 XML 合并算法

我希望能够对XHTML文档进行三向合并:从文档的一些原始副本开始一个用户编辑原始文档的副本另一个用户编辑原始文档的单独副本需要一个工具来合并(自动和/或可视化)两个用户所做的更改。注意:我想在商业软件中包含此功能:所以我更喜欢免费和/或开源的东西,而不是商业工具。我怀疑如果该工具是XML感知的,比尝试使用像diff3这样实现平面文本的3路合并的软件更好鉴于所有三个输入文档都是有效的XHTML文档,生成的输出文档也应该有效我找到的工具包括:The"3DM"XML3-wayMergingandDifferencingToolFuegoCoreXMLDiffandPatchToolXmlDi

xml - 如何使用 XPath 2.0 识别数字序列中的重复值?

我有一个XPath表达式,它为我提供了一系列值,如下所示:122345567使用distinct-values()可以很容易地将其转换为唯一值序列1234567。但是,我要提取的是重复值列表=25。我想不出一个简单的方法来做到这一点。谁能帮忙? 最佳答案 使用这个简单的XPath2.0表达式:$vSeq[index-of($vSeq,.)[2]]其中$vSeq是我们要在其中查找重复项的值序列。有关此“工作原理”的解释,请参阅:http://dnovatchev.wordpress.com/2008/11/16/xpath-2-0-g

xml - xsltproc 无法识别 XSLT 2.0

我有这个XSLT语法表:因此,我想根据正则表达式复制除某些节点以外的所有内容。我想使用XSLT2的匹配功能来实现这一点。但是当我运行以下命令时:xsltproc.exestyle.xslinput.xml>output.xml我在标准输出上循环了这条消息:xmlXPathCompOpEval:functionmatchesnotfoundXPatherror:UnregisteredfunctionxmlXPathCompiledEval:1objectleftonthestack请问如何解决这个问题?非常感谢。 最佳答案 您将需要

XML Schema 1.1 无法识别 'assert' 或 'assertion'

我正在尝试在XSD中使用以下内容我知道断言/断言是XMLSchema1.1但不是1.0的一部分。然而,我读过的所有内容都表明命名空间对于两者都是相同的:http://www.w3.org/2001/XMLSchema一个小问题是,我用来编写架构的程序(MicrosoftVisualStudio)无法识别“断言”元素,并表示namespace中的“元素complexType(...)具有无效的子元素“断言”。主要问题是,当我实际尝试使用xmllint验证针对此架构的XML时,它会抛出一个错误,提示"elementassert:Schemasparsererror:Element'{htt

xml - XML 解析器/验证器的算法复杂性

我需要了解不同XML工具(解析器、验证器、XPath表达式求值器等)的性能如何受到输入文档的大小和复杂性的影响。是否有资源记录了CPU时间和内存使用情况如何受到……好吧,什么?文档大小(以字节为单位)?节点数?关系是线性的、多项式的还是更糟?更新在IEEEComputerMagazine,第41卷第9期,2008年9月的一篇文章中,作者调查了四种流行的XML解析模型(DOM、SAX、StAX和VTD)。他们运行了一些非常基本的性能测试,这些测试表明当输入文件的大小从1-15KB增加到1-15MB或大约1000倍时,DOM解析器的吞吐量将减半。其他模型的吞吐量没有受到显着影响。遗憾的是,

xml - 推出您自己的 XML 解析器/XML 解析算法?

因此,作为一个有趣的项目,我决定编写自己的XML解析器。不,不解析特定文档,不,不使用XML解析器库。我的意思是编写代码将任何XML文档解析为可用的数据结构。只是因为我喜欢挑战。:-)话虽如此,到目前为止它被证明是……有趣的。它不像最初看起来那么容易解析(尤其是当您开始考虑特殊字符、CDATA、空标签、注释等时)。是否有任何人知道的任何有据可查的XML解析算法或解释?似乎到处都有记录完备的Queue和Stack以及BTree等等等等的实现,但我不确定我是否见过一个简单的、记录完备的XML解析器算法...我再说一遍:我不是在寻找预构建的解析器库!我正在寻找关于如何创建我自己的预构建解析器

xml - 让 Vim 识别 XML

我希望Vim帮助我缩进我的XML文件,就像我的C代码一样。然而,当我使用gg=G它只是将所有内容设置到左侧。我需要指定语法吗?XML是否被认为是一种语言? 最佳答案 放filetypepluginindenton在你的.vimrc中让Vim自动识别.xml文件为xml。你可能需要把setnocompatible在那之前。如果文件扩展名不是.xml,你可以使用Vim像xml一样威胁它:setfiletype=xml在你这样做之后,Vim的自动缩进(和语法高亮,以及omnicomplete(在xml中只是关闭标签,但这仍然是一些东西))

xml - 验证 XML/识别中断点的快速方法

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2年前。Improvethisquestion如何检查XML文件的有效性以显示XML错误发生的位置?Firefox可以做到,但我想在linux/windows命令行中做到这一点。例如。我有一个来自Excel的大型(90MB)XML文件,以XMLSpreadsheet2003格式保存。它包含各种无效数据,因此Firefox会吐出这样的消息:LineNumber790402,Column65:Here'ssomeda

xml - XML 的最佳压缩算法?

我对压缩几乎一无所知,所以请耐心等待(这可能是一个愚蠢而痛苦的明显问题)。假设我有一个带有几个标签的XML文件。text现在假设我的多个XML文件中有一堆非常长的标签和许多属性。我需要将它们压缩到尽可能小的尺寸。最好的方法是使用特定于XML的算法,该算法为各个标签分配假名,如vlt1或vlt2。但是,这不会像我尝试的那样“开放”,我想使用像DEFLATE或LZ这样的通用算法。如果存档是.zip文件,它也会有所帮助。由于我处理的是纯文本(没有像图像这样的二进制文件),所以我想要一种适合纯文本的算法。哪个生成的文件大小最小(首选无损算法)?顺便说一下,场景是这样的:我正在为包含XML文件的

算法为何重要(《数据结构与算法图解》by 杰伊•温格罗)

本文内容借鉴一本我非常喜欢的书——《数据结构与算法图解》。学习之余,我决定把这本书精彩的部分摘录出来与大家分享。 写在前面算法这个词听起来很深奥,其实不然。它只是解决某个问题的一套流程。 准备一碗麦片的流程也可以说是一种算法,它包含以下4步(对我来说是4步吧)。(1)拿个碗。(2)把麦片倒进碗里。(3)把牛奶倒进碗里。(4)把勺子放到碗里。在计算机的世界里,算法则是指某项操作的过程。上一章我们研究了4种主要操作,包括读取、查找、插入和删除。这一章我们还是会经常提到它们,而且一种操作可能会有不止一种做法。也就是说,一种操作会有多种算法的实现。我们很快会看到不同的算法能使代码变快或者变慢——高负载