问题标签 [hxt]

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 投票
1 回答
86 浏览

xml - 如何使用数据类型构造函数包装来自 HXT 的整个匹配列表?

HXT目前正在学习使用它来解析GPX文件。一个例子是here。到目前为止,我有以下内容:

您可以看到它不完整,但仍应进行类型检查。不幸的是,我已经遇到了一个错误:

这个错误说的是我试图parseGpxTrk通过构造函数从箭头传递每个匹配的项目arr Gpx,但我真正想要的是通过arr Gpx构造函数传递整个匹配列表。

那么,我如何获得(或一般的箭头?)通过我的构造函数HXT将匹配项作为列表arr Gpx传递,而不是通过构造函数传递列表中的每个条目arr Gpx

0 投票
3 回答
118 浏览

xml - += 运算符的固执

正如我们从我之前的问题中了解到的, += 是允许一次添加一个元素的运算符。是否可以“检测”先前添加的元素并控制未来添加的方式?

这是一个开始我们调查的简单程序:

在这里,foo创建 'foo' 节点及其内容。内容是用 bar箭头生成的,它应该足够聪明,可以检测到之前添加的“bar”元素,并改变它的行为。在这里我们deep为了简单起见:如果 'bar' 元素是 'foo' 元素的子元素,无论它有多深,都应该检测到它(getChildren >>> hasName "bar"也应该这样做)。

因此,文件的预期内容test.xml是:

当然,它不起作用。这是我得到的:

我的问题:

  1. bar为什么箭头无法检测到“bar”元素?

  2. 如何检测它?

0 投票
1 回答
81 浏览

xml - HXT xpickle(反)在属性值和值构造函数之间序列化

我正在尝试编写一个 xpickle,它将某种类型的值构造函数序列化为特定属性的 XML 属性值,并将 XML 属性值反序列化回该类型的值构造函数。

我有以下数据:

我想将其序列化为:

这是我正在采取的方法:

在这里,xpProperty创建或读取一个@property属性,然后用于xpPropertyValue计算值。xpPropertyValue根据值的值构造函数确定值:A给出"a"B给出"b",并且使用xpTextAttr函数构造值。这里的问题是xpTextAttrString -> PU String我正在尝试在需要PU Property. 但是我无法找到一种替代方法来生成PU Property依赖于值的值构造函数的Property值。

0 投票
1 回答
52 浏览

xml - Parse other XML files whilst parsing tree with HXT

I am parsing XML files that describe User Interface for a game and try to learn HXT at the same time. I can successfully parse a single XML file. But could not figure what would be the best way to open and parse other XML files whilst inside getWindow function.

Each XML consists of number of Windows. Each Window has name and libraryName. The latter being the name of the XML file that describes the window. For instance, the root looks like this:

And then there is a separate XML file for each window. E.g. "window_home":

I parse root DOMDocument.xml with this code:

Since the getWindow function is not wrapped inside IO what would be the best way to achieve a desired behaviour?

0 投票
1 回答
80 浏览

xml - HXT 使用 'orElse' 将缺失的属性值替换为默认值

我正在使用 HXT 解析一个简单的 XML 文件,并且需要用默认值替换标签的缺失属性。但由于某种原因orElse不能按预期工作。

以下是 XML 文件:

有问题的标签是Matrix. 下面是我的代码:

它看起来像线

不返回"0.0"

难道我做错了什么?

0 投票
2 回答
66 浏览

xml - HXT:重用“预解析”数据

我试图将带有 HXT 的 XML '预解析'到 [XmlTree] 一次,然后多次重用这些数据。

下面是我的代码:

如果我事先解析:

我该如何运行这样的事情:

或这个:

允许我重用“x”中的数据。

0 投票
1 回答
73 浏览

xml - HXT 仅将 XML 命名空间附加到根元素

我正在使用 ghc-7.10 和 hxt-9.3.1.15。我有简单的Open XML Word生成器,例如

它正在生成有效的 XML,例如

但是我想xmlns:w=...只保留在顶部节点。

任何替换attachNsEnv (toNsEnv [("w", wordNS)])uniqueNamespacesuniqueNamespacesFromDeclAndQNames导致根本没有命名空间声明的尝试。

我怎样才能真正清理我的 XML 输出?

0 投票
1 回答
157 浏览

haskell - 从子树中提取值

我正在解析一个 XML 文件,HXT并试图将一些节点提取分解为模块化部分(我一直使用它作为我的指南)。不幸的是,一旦我进行了第一级解析,我就无法弄清楚如何应用一些选择器。

我看到书有一个类型[XmlTree]

现在我想获取第一个元素,books然后在子树中提取一些值。

一旦我有了一个,我就找不到选择器,XmlTree并且我展示了上面不正确的用法来说明我想要什么。我知道我可以这样做:

但我不仅对cost里面的更多元素感兴趣book。XML 文件非常深,所以我不想嵌套所有内容,<+>并且很多评估者更喜欢提取我想要的块,然后在单独的函数中提取子元素。

示例(虚构)XML 文件:

有人可以帮我理解,如何提取 的子元素book?理想情况下,>>>node可以定义自己的函数,例如getCost,getName等,每个函数都将大致具有签名XmlTree -> [String]

0 投票
1 回答
107 浏览

haskell - 如何在 HXT (Haskell) 中的属性值中“预转义”字符

如何预先转义&&以使 HXT 的输出包含文字&&字符而不是&amp;&amp;

示例代码片段:

此代码生成如下输出:

我希望输出是这样的:

0 投票
1 回答
80 浏览

xml - 使用 Haskell XHT 库渲染 CDATA

如何使HXT库输出 CDATA?

例如,test在此代码段中运行将导致


但我需要它来渲染:

是否可以HXT自动检测是否需要 CDATA?