生成 Schematron 的元语言
Meta language to generate Schematron
我正在考虑编写一段代码(如果可能的话,编写脚本)。将人类可读规范 (DICOM) 转换为机器可解析验证。
DICOM standard 使用 DocBook (XML) 定义其元素和属性的关系,例如:
扫描序列的等效 DocBook XML 是:
<tr valign="top">
<td align="left" colspan="1" rowspan="1">
<para>Scanning Sequence</para>
</td>
<td align="center" colspan="1" rowspan="1">
<para>(0018,0020)</para>
</td>
<td align="center" colspan="1" rowspan="1">
<para>1</para>
</td>
<td align="left" colspan="1" rowspan="1">
<para>Description of the type of data taken.</para>
<variablelist spacing="compact">
<title>Enumerated Values:</title>
<varlistentry>
<term>SE</term>
<listitem>
<para>Spin Echo</para>
</listitem>
</varlistentry>
<varlistentry>
<term>IR</term>
<listitem>
<para>Inversion Recovery</para>
</listitem>
</varlistentry>
<varlistentry>
<term>GR</term>
<listitem>
<para>Gradient Recalled</para>
</listitem>
</varlistentry>
<varlistentry>
<term>EP</term>
<listitem>
<para>Echo Planar</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RM</term>
<listitem>
<para>Research Mode</para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para>Multi-valued, but not all combinations are valid (e.g., SE/GR, etc.).</para>
</note>
</td>
所以我需要解析这个 XML InfoSet,并从这组 DICOM 关键字生成 schematron 规则。我可以使用哪种语言既高效又准确?该语言应该允许轻松解析 XML 输入并轻松生成 schematron 规则。
据我所知,这应该非常简单,所以我会说使用您喜欢的任何语言。 XML 解析器随处可用,使用 sprintf() 或其他工具生成 schematron 非常容易。总的来说,在 XSLT 中进行转换可能是最简单的,因为您可以免费获得解析和生成。但是,如果您不了解 XSLT,那么您已经了解的语言可能会更快。
-s
PS:如果你碰巧使用Python,请注意你使用的是哪个解析器库。我还没有发现所有这些都是可靠的。但是你的数据看起来足够干净,你不会对它们施加太大压力,所以你应该没问题。
我正在考虑编写一段代码(如果可能的话,编写脚本)。将人类可读规范 (DICOM) 转换为机器可解析验证。
DICOM standard 使用 DocBook (XML) 定义其元素和属性的关系,例如:
扫描序列的等效 DocBook XML 是:
<tr valign="top">
<td align="left" colspan="1" rowspan="1">
<para>Scanning Sequence</para>
</td>
<td align="center" colspan="1" rowspan="1">
<para>(0018,0020)</para>
</td>
<td align="center" colspan="1" rowspan="1">
<para>1</para>
</td>
<td align="left" colspan="1" rowspan="1">
<para>Description of the type of data taken.</para>
<variablelist spacing="compact">
<title>Enumerated Values:</title>
<varlistentry>
<term>SE</term>
<listitem>
<para>Spin Echo</para>
</listitem>
</varlistentry>
<varlistentry>
<term>IR</term>
<listitem>
<para>Inversion Recovery</para>
</listitem>
</varlistentry>
<varlistentry>
<term>GR</term>
<listitem>
<para>Gradient Recalled</para>
</listitem>
</varlistentry>
<varlistentry>
<term>EP</term>
<listitem>
<para>Echo Planar</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RM</term>
<listitem>
<para>Research Mode</para>
</listitem>
</varlistentry>
</variablelist>
<note>
<para>Multi-valued, but not all combinations are valid (e.g., SE/GR, etc.).</para>
</note>
</td>
所以我需要解析这个 XML InfoSet,并从这组 DICOM 关键字生成 schematron 规则。我可以使用哪种语言既高效又准确?该语言应该允许轻松解析 XML 输入并轻松生成 schematron 规则。
据我所知,这应该非常简单,所以我会说使用您喜欢的任何语言。 XML 解析器随处可用,使用 sprintf() 或其他工具生成 schematron 非常容易。总的来说,在 XSLT 中进行转换可能是最简单的,因为您可以免费获得解析和生成。但是,如果您不了解 XSLT,那么您已经了解的语言可能会更快。
-s
PS:如果你碰巧使用Python,请注意你使用的是哪个解析器库。我还没有发现所有这些都是可靠的。但是你的数据看起来足够干净,你不会对它们施加太大压力,所以你应该没问题。