SEC 公司备案:<SEC-HEADER> 标签是否有效 SGML?如果是的话,如何解析呢?

Mic*_*l S 5 sgml parsing edgar

我尝试解析 SEC 公司文件sec.gov。从fb 10-Q index.htm开始,让我们看一下完整的文本提交归档,例如完整的提交文本归档。它的结构如下:

<SEC-DOCUMENT>
<SEC-HEADER>
<ACCEPTANCE-DATETIME>"some content" This tag is not closed.

"some lines resembling yaml markup" 
These are indented lines with a 
"key": "value" structure.

</SEC-HEADER>
<DOCUMENT>
.
.
some content
.
.

</DOCUMENT>

"several DOCUMENT tags" ...


</SEC-DOCUMENT>
Run Code Online (Sandbox Code Playgroud)

我试图弄清楚标签的结构,并在公共传播服务(PDS)技术规范(pdf)<SEC-HEADER>下找到了一些信息,并得出标题的内容应该是SGML。

尽管如此,我对格式一无所知,因为没有尖括号,并且键-值对是用冒号分隔的,而key: value不是<key>value</key>。在 pdf 链接中我找不到任何有关冒号的信息。

问题: <SEC-HEADER>标签是否有效 SGML?如果是的话如何解析?

我很乐意提供任何帮助。

小智 1

最简洁的答案是不。原始归档中的标签<SEC-HEADER>不是有效的 SGML。

然而,据我了解,原始归档中的这一部分是从头文件中自动解析的<accession_num>.hdr.sgml,它遵循 SGML。该头文件可以在与原始归档(即文件)相同的目录中找到<accession_num>.txt

我使用以下形式的正则表达式:(^<(.+?)>(.+?)$带有 re.MULTILINE 选项)来捕获每个(标签,值)元组并直接在 dict() 中获取结果。我相信该文件中唯一具有结束标签的标签是标签</FILER>,其中每个文件中可能有多个文件管理器。您可以首先使用以下形式的 REGEX 提取这些内容:<FILER>(.+?)</FILER>然后使用与上面相同的 REGEX 来获取每个文件管理器的内部标签。

请注意,除了“FILER”之外,还可能有其他标签,代表实体与归档的不同关系。这些是“发行人”、“主题公司”、“归档者”、“归档对象”、“系列公司”、“报告所有者”。