问题标签 [sgml]

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 回答
417 浏览

xml - DTD 解析:参数实体引用名称,包括另一个参数实体引用 - 格式是否正确?

我正在编写一个 DTD 解析器,我有点不确定如何扩展参数实体。例如,这个 DTD 摘录是否有效?

更具体地说,我很想知道实体 gh 是否会正确扩展。在我看来 %ef; 应该首先扩展为“c”,然后是新形成的 PE 引用 %abcd;应该扩展到 %xx; 等等。

我见过的大多数解析器都将 %ab 识别为 PE 引用并且由于未定义该 PE 而失败。但是我发现标准中绝对没有参考要求解析器以这种方式工作。我发现的唯一参考是Included in Literal,而不是Included as PE,它指出替换文本必须用一个前导和一个0x20 后一个0x20 放大 - 但不是在文字中。

任何指针?谢谢你。

0 投票
1 回答
449 浏览

sgml - SGML 属性中禁止使用哪些 ASCII 字符?

除了空格、引号、等号和制表符之外,ASCII 的可打印子集中还有哪些字符被禁止用作SGML 中的属性名?

0 投票
1 回答
471 浏览

c# - OFX 解析器。忽略 XML 文本阅读器异常

我正在 c# 上编写自定义 OFX -> XML 解析器。

目前我正在使用标准的 XMLTextReader。

ofx 格式可能具有以下结构:

问题是如果元素是文本元素,那么前一个元素没有结束标签。我想添加它。但我有:

第 7 行位置 10 上的“SEVERITY”开始标签与“STATUS”的结束标签不匹配。第 8 行,第 9 位。

但是,如果我尝试捕获 while(reader.Read()) 块,那么我会得到正确的结构,但直到我的 </SEVERITY>标签为止。

有什么办法可以忽略此类异常?

0 投票
6 回答
1359 浏览

html - 结束标签是否应该关闭所有未闭合的中间开始标签并省略结束标签?

我读错了 HTML 4.01 标准,还是谷歌?在 HTML 4.01 中,如果我写:

谷歌浏览器中的渲染是:

普通 + em +- em

这似乎与 HTML 4.01 标准相矛盾,该标准将基本的 SGML 规则总结为:“结束标记关闭,回到匹配的开始标记,所有未闭合的中间开始标记都省略了结束标记”。¹

也就是说,</em>结束标签不仅应该关闭<em>开始标签,还应该关闭未关闭的中间<strong>开始标签,并且呈现应该是:

普通 + em +-em

一位评论者指出,打开标签是不好的做法,但这只是一个学术例子。一个同样好的例子是:<em> +em <strong> +strong </em> -em </strong>. 我从 HTML 4.01 标准中了解到,由于元素重叠,此代码片段无法按预期工作:</em>结束标记应隐式关闭<strong>. 它确实按预期工作的事实令人惊讶,这就是我提出问题的原因。

事实证明,我在问题中提出了错误的二分法:Google 和我都没有读错 HTML 4.01 标准。w3.org的一位私人通讯员向我介绍了 Martin Bryan解释的 Web SGML 和 HTML 4.0 ,其中解释说:“[t] 解析程序将自动关闭任何当前打开的嵌入元素,这些元素已被声明为具有可忽略的结束标签遇到更高级别元素的结束标记。(但是,如果一个不能省略结束标签的嵌入元素仍然是打开的,那么程序会在编码中报错.)”<a href="http://www.is-thought.co.uk/book/sgml-9.htm#Omitting" rel="nofollow">² (已添加重点。)Bryan 对 SGML 标准的总结是对的,而 HTML 4.01 的总结是错误的。

0 投票
1 回答
3423 浏览

python - 美丽汤中的 UnicodeEncodeError (python 2.7.1)

我在这里在 python 2.7.1 上使用 Beautiful Soup 3.2。

我最近一直在尝试做一些简单的工作,但这似乎相当棘手:

我执行以下操作:

但是,我收到错误:

如果我再次运行相同的循环,有时,我也会得到:

如何避免此错误?显然 sgmllib.py 有问题。

我尝试了 SOF 的一些解决方案:

*] 尝试soup = BeautifulSoup(page, fromEncoding=<encoding of the page>) 结果:剂量工作,同样的错误。

*] 尝试将我的 sgmllib.py 从 2.7.2 版本升级到我的 2.7.1 版本结果:剂量工作,同样的错误。

*] 尝试html = BeautifulSoup(page.encode('utf-8')) 结果:剂量工作,同样的错误。

我将不胜感激有关如何解决此编码错误的任何建议。

0 投票
2 回答
144 浏览

terminology - “标记应该严格”是什么意思?

广义标记的ISO 定义指出:

标记应该是严格的,以便可用于处理严格定义的对象(如程序和数据库)的技术也可以用于处理文档。

在这种情况下,“严谨”是什么意思?

我找到了一篇论文,上面写着:

...类型定义和标记的文档一起 [...] 构成了机器处理所需的严格描述的文档。

...但我仍然不清楚确切的定义。

0 投票
1 回答
308 浏览

regex - 如何使用 Perl 从 SGML DTD 中提取文本内容?

我正在考虑使用 Perl 从 DTD 中提取所有内容,但我不确定哪种方法是最好的方法。我知道有用于处理 XML 的模块,但我不确定是否有用于 SGML 的此类工作的模块,或者我是否应该尝试为这项工作创建正则表达式?

我是 SGML 和 Perl 的新手,除了非常简单的模式匹配外,对正则表达式没有太多经验。

0 投票
1 回答
311 浏览

python - 如何使用 SGMLParser 提取 HTML 中的指定文本

我创建了一个类扩展的 SGMLParser:

非常非常简单的代码。IMOstart_title在遇到<title>标签handle_data时被调用,在遇到普通文本时被调用。现在我想提取 and 之间的文本<title></title>例如

我想打印Webpage titlebetween<title>标签,但使用handle_data标签我将输出所有简单的文本,包括Webpage titleand Simple text。如何简单地输出<title>标签之间的文本?

0 投票
3 回答
988 浏览

xml - 使用 Perl 将 SGML 解析为 XML 文件的正确语法?

我是一个尝试读取 SGML 文件的 Perl 新手,对其进行解析然后将其转换为 XML,这样我就可以获得所有元素的键/值对。我找到了SGML::DTDParseXML::Simple模块,因为我认为这是我想要的任务。我的问题是我找不到关于 DTDParse 的任何文档或任何代码示例。

我的代码如下:

我在 dtdParse $file 行中遇到如下错误:Can't call method "dtdParse" without an package or object reference at "my script name"

关于此处正确语法的任何想法,这是该任务的有效方法吗?

我再次修改了代码,并能够使用以下代码进行 dtd 解析:

我不相信解析的文件可以被认为是 xml,所以也许从解析的文件中获取所有元素的正确方法是 for 循环。

0 投票
2 回答
877 浏览

java - 如何在 res/layout 文件夹下的 .xml 文件中使用伪代码?安卓

所以我想用伪代码告诉自己一些关于 .xml 文件的事情,但是当我执行 // 时,它会像代码一样输入它,所以我不能在那里真正使用它。我可以做些什么来使代码像伪代码一样不可读?我在一个android应用程序中这样做。在 res/layout/(.xml 文件) 文件夹下。谢谢!