元语言生成Schematron

时间:2015-09-24 14:44:54

标签: xml dicom 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规则。

1 个答案:

答案 0 :(得分:1)

据我所知,这应该是非常简单的,所以我说要使用你喜欢的任何语言。 XML解析器随处可用,使用sprintf()或其他方法生成schematron很容易。总的来说,在XSLT中进行转换可能是最容易的,因为您可以免费获得解析和生成。但如果您不了解XSLT,您已经知道的语言可能会更快。

-s

PS:如果您碰巧使用Python,请注意您使用的解析器库。我还没发现所有这些都可靠。但是你的数据看起来很干净,你不会对它们施加太大的压力,所以你应该没问题。