gpt4 book ai didi

haskell - HXT 忽略 HTML DTD,将其替换为 XML DTD

转载 作者:行者123 更新时间:2023-12-03 14:09:04 27 4
gpt4 key购买 nike

我在弄清楚 HXT 为何要替换我的 DTD 时遇到了一些麻烦。首先,这是我要解析的输入文件:

<!DOCTYPE html>
<html>
<head>
<title>foo</title>
</head>
<body>
<h1>foo</h1>
</body>
</html>

这是我得到的输出:
<?xml version="1.0" encoding="US-ASCII"?>
<html>
<head>
<title>foo</title>
</head>
<body>
<h1>foo</h1>
</body>
</html>

最后,这是我正在使用的箭头的简化版本:
start (App src dest) = runX $
readDocument [ withValidate no
, withSubstDTDEntities no
, withParseHTML yes
--, withTagSoup
]
src
>>>
this
>>>
writeDocument [ withIndent yes
, withSubstDTDEntities no
, withOutputHTML
--, withOutputEncoding "UTF-8"
]
dest

我为这些评论道歉 - 我一直在玩弄不同的配置组合。即使使用 withSubstDTDEntities no,我似乎也无法让 HXT 不与 DTD 混淆。 , withValidate no等。我收到一条警告,说 HXT 忽略了我的 doctype 声明,但这是我唯一的见解。谁能帮我一把?先感谢您!

最佳答案

你有两个问题

HXT 只接受以下三种 html doctypes 之一

<!DOCTYPE html 
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"DTD/xhtml1-frameset.dtd">

使用其中之一将消除有关忽略 dtd 的警告。

二、在writeDocument中添加如下选项
withAddDefaultDTD yes

关于haskell - HXT 忽略 HTML DTD,将其替换为 XML DTD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26763855/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com