问题标签 [stx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1999 浏览

performance - XSLT 与 Xalan 对比 STX 与 Joost

与使用 STX(使用 Joost)相比,我在哪里可以找到使用 XSLT(使用 Xalan)的重要示例的性能指标(内存/时间)

0 投票
10 回答
2423 浏览

java - 使用 XSLT 进行 XML 提取而不必将整个 DOM 树读入内存?

我有一种情况,我想从一些非常大但常规的 XML 文件中提取一些信息(只需要使用 500 Mb 的文件),而 XSLT 将是完美的。

不幸的是,我知道的那些 XSLT 实现(除了最昂贵的 Saxon 版本)不支持只读取 DOM 的必要部分,而是读取整个树。这会导致计算机死机。

有问题的 XPath 是

所以它本质上只是一个grep。

是否有可以做到这一点的 XSLT 实现?或者一个给出适当“建议”的 XSLT 实现可以做到这一点,即修剪掉内存中不再需要的部分?

我更喜欢 Java 实现,但 Windows 和 Linux 都是可行的本机平台。


编辑:输入 XML 看起来像:

本质上,我想选择一些 m 节点(我知道 XPath 是错误的,这只是一个快速破解),但要保持 XML 布局。


编辑:看来 STX 可能是我正在寻找的(我可以使用另一种转换语言),并且 Joost 是其中的一种实现。有什么经验吗?


编辑:我发现带有 -Xmx1500m 的 Saxon 6.5.4 可以加载我的 XML,所以这让我现在可以使用我的 XPath。这只是一个幸运的中风,所以我仍然想一般地解决这个问题 - 这意味着可编写脚本,这反过来意味着首先没有手工制作的 Java 过滤。


编辑:哦,顺便说一句。这是一个非常类似于 log4j XMLLayout 生成的日志文件。XML 的原因是能够做到这一点,即对日志进行查询。这是最初的尝试,因此是一个简单的问题。稍后我希望能够提出更复杂的问题 - 因此我希望查询语言能够处理输入文件。

0 投票
4 回答
5067 浏览

java - 将多个大型 xml 文件高效合并为一个

我搜索了网络,并上下搜索了stackoverflow。没有解决方案。虽然我在这里找到了如何在纯 xslt 中执行此操作的解决方案。

但问题是生成的 xml 将有数百 MB 大。所以我必须用 Java 中的 SAX 来做这件事。(请不要使用 xslt 解决方案,尽管我用 xslt 对其进行了标记;-))

让我更详细地解释一下。我有几个应该解析的多个 xml 文件(最好是 InputSteam)。文件或 InputStream 的样子

输入流1

输入流2

inputstream1+inputstream2+...+inputstreamN =结果 xml。它看起来像

有人对此有解决方案或链接吗?这是否可以通过实现自定义 InputSource 或者我应该使用自定义 ContentHandler 来实现?或者这可能与joost/stx吗?

如果我可以使用 ContentHandler 的好处是我可以应用一些小的转换(我已经实现了这个)。但问题是我不知道如何将多个文件或 InputStream 作为 InputSource 传递:

还是应该直接在我的 ContentHandler 中解析 InputStreams?

0 投票
2 回答
3600 浏览

c# - 通过 .Net Socket 发送/接收帧用于串行通信的消息

我们已经完成了一些基本的 TCP 通信,但还有一些问题。我们正在与 TCP 服务器通信,其中事务流描述如下:

发送方通过发送 STX (ASCII 0x02) 字符来启动交易,然后通过发送 ACK (ASCII 0x06) 字符等待接收方回复。收到 ACK 后,发送方发送一个 4 字节无符号大端整数,表示消息有效负载的大小,然后是有效负载,最后是有效负载的 16 字节 MD5 消息摘要。如果接收者对消息感到满意,它会发送一个 ACK​​ 字符。

使用 .Net 套接字 (System.Net.Sockets.Socket),管理 STX/ACK 传输控制的正确方法是什么?套接字是否会自动处理这个问题(即我们是否只需调用 socket.Send(byteData)),还是我们需要显式发送 STX、等待 ACK 等?

接收也是如此:我们只是简单地接收传入的数据,还是需要监听 STX 字符、发送 ACK、准备负载等?

如果传输控制是自动处理的,我们是否需要设置任何特定的套接字标志?

仅供参考:我们发现几个链接(如下所示)已被证明对消息帧有用,但没有一个讨论 STX/ACK 传输控制:

0 投票
1 回答
11551 浏览

c++ - 在 C++ 中的字符串中定位 STX 和 ETX

有没有办法在 c++ 中的 recv() 接收到的消息中检测 STX(文本开头)和 ETX(文本结尾)字符序列?我正在尝试修复 TCP 中可能发生的任何部分读取,以便我可以修改完整的消息。

谢谢!

编辑1:

根据 unwind 的答案做了以下操作:

我仍然没有设法检测到这个角色。这个实现有什么问题吗?'it' 是字符串类型向量的迭代器。

编辑2:

这是接收数据和检查字符的完整代码:

所以,我只是检查 STX,还没有连接缓冲数据。但是,STX 检查仍然失败。请让我知道这种方法中的任何问题。

谢谢。

编辑3:

我得到了示例消息的以下十六进制值:

所以 STX/ETX 的十六进制值不存在。这意味着不能使用 STX 和 ETX 来检查消息的形成。

0 投票
1 回答
740 浏览

mysql - 在 MySQL 表中替换 R 中的特殊字符

我有一个使用“RODBC”包从 R 访问的 MySQL 表。一些列具有由 STX 字符 (\x02) 分隔的长连接字符串。我已经显示了下面字符的屏幕打印(字符被圈出):

STX 符号

我想从 R(RODBC 包)运行以下查询,用不同的字符替换 STX 分隔符:

我在下面给出了完整的代码:

有没有办法从 R 中实现这一点?

0 投票
0 回答
1545 浏览

validation - [0x02, 0x03, 0x00] 是有效数据吗?

我正在尝试编写一个程序,该程序根据byte[]数组中的消息协议返回有效数据。

我有:

有效数据是当byte[]数组包含 STX、ETX、数据和正确计算的 LRC 时,例如:

无效数据示例:

该字节还可能包含有效数据周围的随机值:

我的问题是,当我使用带有随机数据的消息并0x2,0x3,0x00,0x02让它中断时,因为它将 0x02 和 0x03 视为 STX 和 ETX,然后它计算 LRC 导致 0x03 导致返回:0x2,0x3,0x00最后一个 0x03 被视为法改委。

问题是这个有效数据:

我应该返回最新的有效数据,但其中有更好的数据:

0 投票
1 回答
179 浏览

transformation - 如何缩进 STX 转换输出(类型“XML”)?

如何缩进由于 STX 转换而生成的输出 XML。我通过查看transform元素在官方文档中搜索了它,但发现它没有任何缩进属性,就像XSLT一样。有没有办法做到这一点?

0 投票
1 回答
1296 浏览

xml - STX:如何处理比匹配元素更高级别的元素?

...或者也许以某种方式获得孩子的内容?

大家好,我正在使用 STX,因为我有大量的 XML 文件。

我有一些意见

我需要得到这样的输出

我写了一个部分完成的转换

我知道,stx:process 很少,例如 stx:process-children、stx:process-self、stx:process-siblings,但这种情况下它不起作用。

0 投票
1 回答
819 浏览

c# - c# rs485 crc for stx data etx crc

我想计算要发送到分配器的消息的 crc。消息格式为 STX + DATA + ETX + CRC 并写道“crc 可以通过在 7fh 和包括 ETX 在内的所有字符的总和之间使用 AND 运算符来计算,不包括 STX 或在 40h 和所有字符的总和之间使用 OR 运算符包括 ETX,不包括 STX。”
我无法从这些信息中获取 crc 的格式。欢迎任何想法或示例,
谢谢您的关注