欢迎您来到 数字平台。 您尚未登录。[登录] [注册新用户]
当前位置: 论坛首页 / 栏目 产品与服务 / 文章 869

点击:7273[回复顶层] [树状] [详细]
[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 1 楼
文章id: 869
CNMARC格式图书格式校验脚本--------dp2circulation_marc_verify.fltx

作者: 精灵

关键词: dp2circulation_marc_verify.fltx


“dp2circulation_marc_verify.fltx”脚本主要功能是在加工数据时,根据脚本规则校验MARC数据的准确性与规范性,下面这个脚本是我在谢老师“dp2circulation_marc_verify.fltx”CNMARC格式图书格式校验脚本的基础上改写的一个校验脚本。已经在我馆运行了一段时间,不过由于我自己能力所限对于MARC数据了解不多,所以,这个脚本中难免会有一些不妥的地方。。所以,想请各位有能力的老师帮我看看。。看看里面哪些地方写的还不够严谨。这样可以更好的完善这个脚本。。。。目前,这个脚本主要功能有:

1、判断所有子字段的名称是否符合要求。

2、判断所有子字段书写的时候在开头或者结尾是否带有空格。

3、判断所有字段的指示符是否符合要求。

4、判断是否有未命名的空子字段。(例如“▼a▼”或者“▼▼a”)

注:以上判断规则参考自“北京图书馆出版社”2006年2月出版的“MARC21规范数据格式使用手册”。

<?xml version="1.0" encoding="utf-8"?>

<filter>

    <using><![CDATA[

    //2011-8-5 修改

// CNMARC格式图书格式校验

// (C)Copyright 2011 数字平台(北京)软件有限责任公司

// 编写人:谢涛

using System;

using System.IO;

using System.Text;

using System.Web;

using System.Windows.Forms;

using System.Diagnostics;

using DigitalPlatform.MarcDom;

using DigitalPlatform.Script;

using DigitalPlatform.Text;

using dp2Circulation;

]]></using>

    <ref>system.dll</ref>

    <ref>system.web.dll</ref>

    <ref>system.windows.forms.dll</ref>

    <def><![CDATA[

//      Stopwatch sw = Stopwatch.StartNew();

      public string strResult = "";

      

      

      public int occur_100=0;

      public int occur_101=0;

      public int joint_105_1=0; // 如果105字符1为y,==1

      public int occur_200=0;

      public int occur_700=0;

      public int occur_710=0;

      public int occur_720=0;

      public int occur_801=0;

      public string occur_690_a = "";

        //判断一个字符串是否是纯数字

        public static bool IsNum(string str)

        {

            if (String.IsNullOrEmpty(str) == true)

                return false;

            for (int i = 0; i < str.Length; i++)

            {

                if (str[i] > '9' || str[i] < '0')

                    return false;

            }

            return true;

        }

        public static bool pan_i(string[] str, string temp)

        {

            for (int i=0; i<str.Length; ++i)

            {

              if (temp == str[i])

              {

                return false;

              }

            }

            return true;

        }

        public static string p_ind(string str0, string str1, string ind)

        {

            string temp = "";

            string[] str_t0 = str0.Split('/');

            string[] str_t1 = str1.Split('/');

            if (pan_i(str_t0, ind.Substring(0, 1)))

            {

              temp="指示符第1位,应为:" + str0.Replace(" ", "#") + "(#表示空格)";

            }

            if (pan_i(str_t1, ind.Substring(1, 1)))

            {

              temp="指示符第2位,应为:" + str1.Replace(" ", "#") + "(#表示空格)";

            }

            return temp;

        }

        public static string indicator(string loc, string ind)

        {

            string temp = "";

            switch (loc)

            {

              case "010":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "014":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "016":

              {

                return p_ind(" /7"," ", ind);

                break;

              }

              case "020":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "022":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "024":

              {

                return p_ind("7/8"," ", ind);

                break;

              }

              case "035":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "040":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "042":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "043":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "045":

              {

                return p_ind(" /0/1/2"," ", ind);

                break;

              }

              case "050":

              {

                return p_ind(" ","0/4", ind);

                break;

              }

              case "052":

              {

                return p_ind(" /0/7"," ", ind);

                break;

              }

              case "053":

              {

                return p_ind(" ","0/4", ind);

                break;

              }

              case "055":

              {

                return p_ind(" ","0/4", ind);

                break;

              }

              case "060":

              {

                return p_ind(" ","0/4", ind);

                break;

              }

              case "065":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "066":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "070":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "072":

              {

                return p_ind(" "," /0/7", ind);

                break;

              }

              case "073":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "082":

              {

                return p_ind("0/1"," /0/4", ind);

                break;

              }

              case "083":

              {

                return p_ind("0/1"," /0/4", ind);

                break;

              }

              case "086":

              {

                return p_ind(" /0/1"," ", ind);

                break;

              }

              case "087":

              {

                return p_ind(" /0/1"," ", ind);

                break;

              }

              case "100":

              {

                return p_ind("0/1/3"," ", ind);

                break;

              }

              case "101":

              {

                return p_ind("0/1/2"," ", ind);

                break;

              }

              case "102":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "105":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "106":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "110":

              {

                return p_ind("0/1/2"," ", ind);

                break;

              }

              case "111":

              {

                return p_ind("0/1/2"," ", ind);

                break;

              }

              case "130":

              {

                return p_ind(" ","0/1/2/3/4/5/6/7/8/9", ind);

                break;

              }

              case "148":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "150":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "151":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "155":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "180":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "181":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "182":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "185":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "200":

              {

                return p_ind("1/0"," ", ind);

                break;

              }

              case "205":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "210":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "215":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "225":

              {

                return p_ind("0/1/2"," ", ind);

                break;

              }

              case "260":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "300":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "360":

              {

                return p_ind(" "," ", ind);

                break;

              }

              case "400":

              {

                return p_ind("0/1/3"," ", ind);

                break;

              }

              default:

              {

                break;

              }

            }

            return temp;

        }

        public static bool p_ziziduan(string temp)

        {

            if (temp==""){return true;}

            if (temp[0]>='0'&&temp[0]<='9'){return false;}

            if (temp[0]>='A'&&temp[0]<='Z'){return false;}

            if (temp[0]>='a'&&temp[0]<='z'){return false;}

            return true;

        }

        public static bool p_ziduan(string temp)

        {

            string[] ziduan = { "-01", "001" };

            for (int i = 0; i < ziduan.Length; i++)

            {

                if (temp.IndexOf(ziduan[i]) >= 0)

                {

                    return false;

                }

            }

            return true;

        }

    ]]></def>

    <record>

        <def><![CDATA[

    ]]></def>

        <begin><![CDATA[

      //MessageBox.Show("record data:" + this.Data);

    ]]></begin>

        <field name="***"><![CDATA[

        if (p_ziduan(this.LocationString.ToString()))

        {

            string[] temp=this.Content.Split(Convert.ToChar(31));

            for (int i=1;i<temp.Length;i++)

            {

                if(p_ziziduan(temp[i].ToString()))

                {

                    Root.strResult += "(" + this.LocationString + ") " + "存在没有子字段名的空“▼”...\r\n";

                }

            }

        }

    ]]>

            <subfield name="*"><![CDATA[   

            //MessageBox.Show("temp");

            if(String.IsNullOrEmpty(this.Content.Trim()) == true)

              {

                Root.strResult += "(" + this.LocationString + ") " + "子字段没有内容...\r\n";

              }

              else if(this.Content.Substring(0,1) == " ")

              {

                Root.strResult += "(" + this.LocationString + ") " + "子字段首部不能带有空格...\r\n";

              }

              else if(this.Content.Substring(this.Content.Length - 1,1) == " ")

              {

                Root.strResult += "(" + this.LocationString + ") " + "子字段尾部不能带有空格...\r\n";

              }

            ]]></subfield>

        </field>

        <!-- 001 记录控制号 

        <field name="001">

            <![CDATA[

            if(this.Content.Length != 10 && this.Content.Length != 12)

              Root.strResult += "(" + this.LocationString + ") " + "字段内容长度不对, 应为10或12字符...\r\n";

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]>

        </field>

        -->

        <!-- 010 ISBN号 -->

        <field name="010">

            <def><![CDATA[

              int count_a = 0;

              int count_d = 0;

        ]]></def>

            <!--   国际标准书号(ISBN) -->

            <subfield name="a"><![CDATA[

              string strError = "";

              int nRet = IsbnSplitter.VerifyISBN(this.Content, out strError);

              if (nRet != 0)

                Root.strResult += "(" + this.LocationString + ") " + strError + "\r\n";

            ]]></subfield>

            <subfield name="d"><![CDATA[

              Parent.count_d ++;

            ]]></subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,d,z",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abdz之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            string temp = indicator(this.LocationString, this.Indicator);

            if(temp != "")

              Root.strResult += "(" + this.LocationString + ") " + temp;

            if(count_d == 0)

            {

              Root.strResult += "(" + this.LocationString + ") " + "$d为必填字段...\r\n";

            }

          ]]></end>

        </field>

        <!--  011 ISSN号 国际标准连续出版物 -->

        <field name="011">

            <!--   国际标准书号(ISSN) -->

            <subfield name="a">

            </subfield>

            <subfield name="b">

            </subfield>

            <subfield name="d">

            </subfield>

            <subfield name="Y">

            </subfield>

            <subfield name="Z">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,d,Y,Z",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abdYZ之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

              if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            ]]></end>

        </field>

        <!-- 091 统一书刊号 -->

        <field name="091">

            <subfield name="a">

            </subfield>

            <subfield name="b">

            </subfield>

            <subfield name="d">

            </subfield>

            <subfield name="z">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,d,z",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abdz之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></end>

        </field>

        <!--this.Parent.DupCount,this.PrevName -->

        <!-- 100 一般处理数据 -->

        <field name="100">

            <subfield name="a"><![CDATA[

            if(this.Content.Length != 36)

              Root.strResult += "(" + this.LocationString + ") " + "子字段内容长度为" + this.Content.Length + "应为36字符...\r\n";

          ]]></subfield>

            <end><![CDATA[

            Root.occur_100 ++;

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></end>

        </field>

        <!-- 101 作品语种   必备 -->

        <field name="101">

            <subfield name="a">

            </subfield>

            <subfield name="b">

            </subfield>

            <subfield name="c">

            </subfield>

            <subfield name="d">

            </subfield>

            <subfield name="e">

            </subfield>

            <subfield name="f">

            </subfield>

            <subfield name="g">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,c,d,e,f,g",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abcdefg之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            Root.occur_101 ++;

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></end>

        </field>

        <!-- 102 出版国别 -->

        <field name="102">

            <subfield name="a">

            </subfield>

            <subfield name="b"><![CDATA[

            if(IsNum(this.Content) == false)

              Root.strResult += "(" + this.LocationString + ") " + "应该全部为数字...\r\n";

            if(this.Content.Length != 6)

              Root.strResult += "(" + this.LocationString + ") " + "子字段内容长度为" + this.Content.Length + "应为6字符...\r\n";

          ]]></subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为ab之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></end>

        </field>

        <!-- 105 编码数据字段: 图书 -->

        <field name="105">

            <subfield name="a"><![CDATA[

            if(this.Content.Length != 13)

              Root.strResult += "(" + this.LocationString + ") " + "子字段内容长度为" + this.Content.Length + "应为13字符...\r\n";

            if(String.IsNullOrEmpty(this.Content) == false

              && this.Content.Substring(0,1) == "y")

                Root.joint_105_1=1;

          ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></end>

        </field>

        <!-- 106 编码数据字段: 文字资料形态特征 -->

        <field name="106">

            <subfield name="a"><![CDATA[

            if(this.Content.Length != 1)

              Root.strResult += "(" + this.LocationString + ") " + "子字段内容长度为" + this.Content.Length + "应为1字符...\r\n";

          ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></end>

        </field>

        <!-- 110 编码数据字段: 连续出版物 -->

        <field name="110">

            <subfield name="a"><![CDATA[

            if(this.Content.Length != 11)

              Root.strResult += "(" + this.LocationString + ") " + "子字段内容长度为" + this.Content.Length + "应为11字符...\r\n";

          ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></end>

        </field>

        <!-- 200 题名与责任者 必备 -->

        <field name="200">

            <def><![CDATA[

              int count_a = 0;

              int count_9 = 0;

              int count_A = 0;

              int count_f = 0;

              bool txt_A = false;

        ]]></def>

            <subfield name="a">

              if(String.IsNullOrEmpty(this.Content) == false)

                Parent.count_a ++;

            </subfield>

            <subfield name="9">

            // 题名拼音

              Parent.count_9 ++;

            </subfield>

            <subfield name="A">

            // 题名拼音

              Parent.count_A ++;

              Parent.txt_A=String.IsNullOrEmpty(this.Content);

            </subfield>

            <subfield name="b">

        // 一般标志资料

            </subfield>

            <subfield name="c">

        // 另一著者的正题名

            </subfield>

            <subfield name="d">

        // 并列正题名

            </subfield>

            <subfield name="e">

        // 副题名

            </subfield>

            <subfield name="f">

        // 主要责任者说明

              Parent.count_f ++;

            </subfield>

            <subfield name="g">

        // 其它责任者说明

            </subfield>

            <subfield name="h">

        // 分册号

            </subfield>

            <subfield name="i">

            // 分册书名

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,9,b,c,d,e,f,g,h,i,z,v,5,A",true) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为a9bcdefghizv5A之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            Root.occur_200 ++;

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

            if (count_a > 0 && count_9 == 0 && count_A == 0)

              {

                Root.strResult += "(" + this.LocationString + ") " + "缺乏$9或$A拼音子字段\r\n";

                return;

              }

            if (count_9 > 0 && count_A > 0)

            {

              Root.strResult += "(" + this.LocationString + ") " + "$9和$A拼音子字段存在其中一个即可\r\n";

              return;

            }

            if(count_A > 0 && txt_A)

            {

              Root.strResult += "(" + this.LocationString + ") " + "拼音子字段是$A\r\n";

              return;

            }

            if(count_9 > 0)

              Root.strResult += "(" + this.LocationString + ") " + "拼音子字段是$9\r\n";

            if(count_f == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$f为必填字段\r\n";  

            ]]></end>

        </field>

        <!-- 205 版本项 -->

        <field name="205">

            <subfield name="a"><![CDATA[

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></subfield>

            <subfield name="b">

            </subfield>

            <subfield name="d">

            </subfield>

            <subfield name="f">

            </subfield>

            <subfield name="g">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,d,f,g",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abdfg之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

        ]]></end>

        </field>

        <!-- 207 特殊细节项: 连续出版物卷期编号 -->

        <field name="207">

            <subfield name="a">

            </subfield>

            <subfield name="z"><![CDATA[

              if(this.DupCount > 1)

                Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,z",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为az之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></end>

        </field>

        <!-- 210 出版发行项 -->

        <field name="210">

            <def><![CDATA[

              int count_a = 0;

              int count_c = 0;

              int count_d = 0;

        ]]></def>

            <subfield name="a">

            Parent.count_a ++;

            </subfield>

            <subfield name="b">

            </subfield>

            <subfield name="c">

            Parent.count_c ++;

            </subfield>

            <subfield name="d">

            Parent.count_d ++;

            </subfield>

            <subfield name="e">

            </subfield>

            <subfield name="f">

            </subfield>

            <subfield name="g">

            </subfield>

            <subfield name="h">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,c,d,e,f,g,h",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abcdefgh之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

            if(count_a == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$a为必填字段\r\n";   

            if(count_c == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$c为必填字段\r\n"; 

            if(count_d == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$d为必填字段\r\n";               

          ]]></end>

        </field>

        <!-- 215 载体形态项 -->

        <field name="215">

            <def><![CDATA[

              int count_a = 0;

              int count_d = 0;

        ]]></def>

            <subfield name="a">

            Parent.count_a ++;

            </subfield>

            <subfield name="c"><![CDATA[

            if(Root.joint_105_1 == 1)

              Root.strResult += "(" + this.LocationString + ") " + "105字段字符1为y, 与215字段$c存在不吻合...\r\n";

          ]]></subfield>

            <subfield name="d"><![CDATA[

            if(this.Content.IndexOf("厘米") != -1

              || this.Content.IndexOf("开") != -1)

            {

              Root.strResult += "(" + this.LocationString + ") " + "中不能用 '厘米'或'开', 应该用 cm...\r\n";

            }

            else

            {

              Parent.count_d ++;

            }

          ]]></subfield>

            <subfield name="e">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,c,d,e",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为acde之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            if(count_a == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$a为必填字段\r\n"; 

            if(count_d == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$d为必填字段\r\n";

          ]]></end>

        </field>

        <!-- 225 丛编项 -->

        <field name="225">

            <subfield name="a">

            </subfield>

            <subfield name="d">

            </subfield>

            <subfield name="e">

            </subfield>

            <subfield name="f">

            </subfield>

            <subfield name="h">

            </subfield>

            <subfield name="i">

            </subfield>

            <subfield name="v">

            </subfield>

            <subfield name="z">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,d,e,f,h,i,v,z,9,A",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为adefhivz9A之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

              // MessageBox.Show(this.LocationString + "指示符:" + this.Indicator);

              // Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></end>

        </field>

        <!-- 300 一般性附注 -->

        <field name="300">

            <subfield name="a">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为$a...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

          ]]></end>

        </field>

        <!-- 326 连续出版物出版频率附注 -->

        <field name="326">

            <subfield name="a">

            </subfield>

            <subfield name="b">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为ab之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

          ]]></end>

        </field>

        <!-- 327 内容附注(子目) -->

        <field name="327">

            <subfield name="a">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为$a...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "重复出现...\r\n";

          ]]></end>

        </field>

        <!-- 330 提要文摘 -->

        <field name="330">

            <subfield name="a">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为$a...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

          ]]></end>

        </field>

        <!-- 410 丛编-->

        <field name="410">

            <subfield name="a">

            </subfield>

            <end>

            </end>

        </field>

        <!-- 421 补编、增刊-->

        <field name="421">

            <subfield name="a">

            </subfield>

            <end>

            </end>

        </field>

        <!-- 500 统一题名 -->

        <field name="500">

            <subfield name="a">

            </subfield>

            <subfield name="b">

            </subfield>

            <subfield name="h">

            </subfield>

            <subfield name="i">

            </subfield>

            <subfield name="k">

            </subfield>

            <subfield name="l">

            </subfield>

            <subfield name="m">

            </subfield>

            <subfield name="n">

            </subfield>

            <subfield name="q">

            </subfield>

            <subfield name="v">

            </subfield>

            <subfield name="x">

            </subfield>

            <subfield name="y">

            </subfield>

            <subfield name="z">

            </subfield>

            <subfield name="2">

            </subfield>

            <subfield name="3">

            </subfield>

            <subfield name="A">

            </subfield>

            <subfield name="9">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,h,i,j,k,l,m,n,q,r,s,u,v,w,x,y,z,2,3,9,A",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abhijklmnqrsuvwxyz239A之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 501 作品集统一题名 -->

        <field name="501">

            <subfield name="a">

            </subfield>

            <subfield name="b">

            </subfield>

            <subfield name="e">

            </subfield>

            <subfield name="j">

            </subfield>

            <subfield name="k">

            </subfield>

            <subfield name="m">

            </subfield>

            <subfield name="r">

            </subfield>

            <subfield name="s">

            </subfield>

            <subfield name="u">

            </subfield>

            <subfield name="w">

            </subfield>

            <subfield name="x">

            </subfield>

            <subfield name="y">

            </subfield>

            <subfield name="z">

            </subfield>

            <subfield name="2">

            </subfield>

            <subfield name="3">

            </subfield>

            <subfield name="9">

            </subfield>

            <subfield name="A">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,e,j,k,m,r,s,u,w,x,y,z,2,3,9,A",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abejkmrsuwxyz239A之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 503 统一惯用标目 -->

        <field name="503">

            <subfield name="a">

            </subfield>

            <subfield name="b">

            </subfield>

            <subfield name="j">

            </subfield>

            <subfield name="d">

            </subfield>

            <subfield name="e">

            </subfield>

            <subfield name="f">

            </subfield>

            <subfield name="i">

            </subfield>

            <subfield name="m">

            </subfield>

            <subfield name="n">

            </subfield>

            <subfield name="k">

            </subfield>

            <subfield name="l">

            </subfield>

            <subfield name="9">

            </subfield>

            <subfield name="A">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,j,d,e,f,i,m,n,k,l,9,A",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abjdefimnkl9A之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 510 并列题名 -->

        <!-- 512 513 514 515 516 517  -->

        <field name="51*">

            <subfield name="a"><![CDATA[

            if(Parent.Name == "517" && this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "子字段重复...\r\n";

          ]]></subfield>

            <subfield name="v"><![CDATA[

            if(this.Content.Length != 1)

              Root.strResult += "(" + this.LocationString + ") " + "子字段内容长度为" + this.Content.Length + "应为1字符...\r\n";

          ]]></subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,e,h,i,j,n,z,9,A",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为aehijnz9A之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 520 前题名 -->

        <field name="520">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,e,h,i,n,j,x,9,A",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为aehinjx9A之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 530 识别题名 -->

        <field name="530">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,j,v,9,A",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abjv9A之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 531 缩略题名 -->

        <field name="531">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,v",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abv之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

          ]]></end>

        </field>

        <!-- 532 完整题名 -->

        <field name="532">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,z",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为az之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 540 编目员补充的附加题名 -->

        <field name="540">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,9,A",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为a9A之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 541 编目员补充的翻译题名 -->

        <field name="541">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,e,h,i,z,9,A",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为aehiz9A之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 600 个人名称主题 -->

        <field name="600">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,c,d,f,g,t,j,x,y,z,2",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abcdfgtjxyz2之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 601 团体名称主题 -->

        <field name="601">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,c,d,e,f,g,h,t,j,x,y,z,2,3",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abcdefghtjxyz23之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 602 家族名称主题 -->

        <field name="602">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,f,t,j,x,y,z,2,3",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为aftjxyz23之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

          ]]></end>

        </field>

        <!-- 605 题名主题 -->

        <field name="605">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,h,i,k,l,m,n,q,r,s,u,w,x,y,z,2,3",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为ahiklmnqrsuwxyz23之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

          ]]></end>

        </field>

        <!-- 606 普通主题 -->

        <field name="606">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,j,x,y,z,2,3",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为ajxyz23之一...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 607 地名主题 -->

        <field name="607">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,j,x,y,z,2,3",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为ajxyz23之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

          ]]></end>

        </field>

        <!-- 610 非控制主题词 -->

        <field name="610">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为$a...\r\n";

            ]]></subfield>

            <end>

            </end>

        </field>

        <!-- 620 出版地/生产地检索点 -->

        <field name="620">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,c,d,3",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abcd3之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

          ]]></end>

        </field>

        <!-- 690 中图法分类号 -->

        <field name="690">

            <def><![CDATA[

              int count_a = 0;

              int count_v = 0;

        ]]></def>

            <subfield name="a"><![CDATA[

            string str690_a_Head = "";

            if(String.IsNullOrEmpty(this.Content) == false)

            {

              str690_a_Head = this.Content.Substring(0,1);

              Root.occur_690_a = this.Content;

              if(StringUtil.IsInList(str690_a_Head,"A,B,C,D,E,F,G,H,I,J,K,N,O,P,Q,R,S,T,U,V,X,Z",false) == false)

              {

                Root.strResult += "(" + this.LocationString + ") " + "中图法分类号应当以字母ABCDEFGHIJKNOPQRSTUVXZ开头...\r\n";

              }

              else

              {Parent.count_a ++;}

            }

            ]]></subfield>

            <subfield name="v"><![CDATA[

            if(this.Content.Length != 1)

            {

              Root.strResult += "(" + this.LocationString + ") " + "子字段内容长度为" + this.Content.Length + "应为1字符...\r\n";

            }

            else

            {Parent.count_v ++;}

            ]]></subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,v",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为av之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            if(count_a == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$a为必填字段\r\n";

            if(count_v == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$v为必填字段\r\n";

          ]]></end>

        </field>

        <!-- 692 科图法分类号 -->

        <field name="692">

            <subfield name="a"><![CDATA[

            string str692_a_Head = "";

            if(String.IsNullOrEmpty(this.Content) == false)

            {

              str692_a_Head = this.Content.Substring(0,1);

              if(StringUtil.IsInList(str692_a_Head,"0,1,2,3,4,5,6,7,8,9",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "科图法分类号应当以字母0123456789开头...\r\n";

            }

            ]]></subfield>

            <subfield name="v"><![CDATA[

            if(this.Content.Length != 1)

              Root.strResult += "(" + this.LocationString + ") " + "子字段内容长度为" + this.Content.Length + "应为1字符...\r\n";

            ]]></subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,v",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为av之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

          ]]></end>

        </field>

        <field name="7**">

            <def><![CDATA[

              int count_a = 0;

              int count_9 = 0;

              int count_A = 0;

              bool txt_A = false;

            ]]></def>

            <subfield name="a">

              if(String.IsNullOrEmpty(this.Content) == false)

                Parent.count_a ++;

            </subfield>

            <subfield name="9">

              Parent.count_9 ++;

            </subfield>

            <subfield name="A">

              Parent.count_A ++;

              Parent.txt_A = String.IsNullOrEmpty(this.Content);

            </subfield>

            <end><![CDATA[

            if(this.Name == "700")

              Root.occur_700 ++;

            if(this.Name == "700" && this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "字段重复...\r\n";

            if (count_a > 0 && count_9 == 0 && count_A == 0)

              {

                Root.strResult += "(" + this.LocationString + ") " + "缺乏$9或$A拼音子字段\r\n";

                return;

              }

            if (count_9 > 0 && count_A > 0)

            {

              Root.strResult += "(" + this.LocationString + ") " + "$9和$A拼音子字段存在其中一个即可\r\n";

              return;

            }

            if(count_A > 0 && txt_A)

            {

              Root.strResult += "(" + this.LocationString + ") " + "拼音子字段是$A\r\n";

              return;

            }

            if(count_9 > 0)

              Root.strResult += "(" + this.LocationString + ") " + "拼音子字段是$9\r\n";

          ]]></end>

        </field>

        <!--

             700 人名-主要责任者

             701 人名-等同责任者

             702 人名-次要责任者

         -->

        <field name="70*">

            <def><![CDATA[

              int count_a = 0;

              int count_4 = 0;

        ]]></def>

            <subfield name="a"><![CDATA[

              Parent.count_a ++;

            ]]></subfield>

            <subfield name="4"><![CDATA[

              Parent.count_4 ++;

            ]]></subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,c,d,f,g,p,3,4,9",true) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abcdfgp349之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Name == "700")

              Root.occur_700 ++;

            if(this.Name == "700" && this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "字段重复...\r\n";

            if(count_a == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$a为必填字段\r\n";

            if(count_4 == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$4为必填字段\r\n";

          ]]></end>

        </field>

        <!--

             710 团体名称-主要责任者

             711 团体名称-等同责任者

             712 团体名称-次要责任者

         -->

        <field name="71*">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,c,d,f,g,h,p,3,4,9",true) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abcdfghp349之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Name == "710")

              Root.occur_710 ++;

            if(this.Name == "710" && this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "字段重复...\r\n";

          ]]></end>

        </field>

        <!--

             720 家族名称-主要责任者

             721 家族名称-等同责任者

             722 家族名称-次要责任者

         -->

        <field name="72*">

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,f,3,4",true) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为af34之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Name == "720")

              Root.occur_720 ++;

            if(this.Name == "720" && this.DupCount > 1)

              Root.strResult += "(" + this.LocationString + ") " + "字段重复...\r\n";

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

          ]]></end>

        </field>

        <!-- 801 记录来源字段 -->

        <field name="801">

            <def><![CDATA[

              int count_a = 0;

              int count_b = 0;

              int count_c = 0;

              int count_A = 0;

              bool txt_A = false;

            ]]></def>

            <subfield name="a">

            if(String.IsNullOrEmpty(this.Content) == false)

                Parent.count_a ++;

            </subfield>

            <subfield name="b">

            if(String.IsNullOrEmpty(this.Content) == false)

                Parent.count_b ++;

            </subfield>

            <subfield name="c"><![CDATA[

            if(IsNum(this.Content) == false)

            {

              Root.strResult += "(" + this.LocationString + ") " + "应该全部为数字...\r\n";

            }else if(this.Content.Length != 8)

            {

              Root.strResult += "(" + this.LocationString + ") " + "子字段内容长度为" + this.Content.Length + "应为8字符...\r\n";

            }else

            {Parent.count_c ++;}

            ]]></subfield>

            <subfield name="g">

            </subfield>

            <subfield name="m">

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,c,g,2,u",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abcg2u之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

              Root.occur_801 ++;

              if (count_a == 0)

              {

                Root.strResult += "(" + this.LocationString + ") " + "$a为必填字段\r\n";

                return; 

              }

              if (count_b == 0)

              {

                Root.strResult += "(" + this.LocationString + ") " + "$b为必填字段\r\n";

                return; 

              }

              if (count_c == 0)

              {

                Root.strResult += "(" + this.LocationString + ") " + "$c为必填字段\r\n";

                return; 

              }

            ]]></end>

        </field>

        <!-- 905 馆藏信息 -->

        <field name="905">

            <def><![CDATA[

              int count_a = 0;

              int count_b = 0;

              int count_d = 0;

              int count_e = 0;

              int count_f = 0;

        ]]></def>

            <subfield name="a">

            Parent.count_a ++;

            </subfield>

            <subfield name="b">

            Parent.count_b ++;

            </subfield>

            <subfield name="c">

            </subfield>

            <subfield name="d"><![CDATA[

              if (this.Content != Root.occur_690_a)

              {

                Root.strResult += "(" + this.LocationString + ") " + "与690$a字段不同,690$a为:"+Root.occur_690_a+"\r\n";

              }

              else

              {Parent.count_d ++;}

            ]]></subfield>

            <subfield name="e">

            Parent.count_e ++;

            </subfield>

            <subfield name="f">

            Parent.count_f ++;

            </subfield>

            <subfield name="*"><![CDATA[

              if(StringUtil.IsInList(this.Name,"a,b,c,d,e,f,s,v,y,z",false) == false)

                Root.strResult += "(" + this.LocationString + ") " + "子字段超出定义范围, 应为abcdefsvyz之一...\r\n";

            ]]></subfield>

            <end><![CDATA[

            if(this.Indicator != "  ")

              Root.strResult += "(" + this.LocationString + ") " + "字段的指示符应为__...\r\n";

            if(count_a == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$a为必填字段\r\n";

            if(count_b == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$b为必填字段\r\n";

            if(count_d == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$d为必填字段\r\n";

            if(count_e == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$e为必填字段\r\n";

            if(count_f == 0)

              Root.strResult += "(" + this.LocationString + ") " + "$f为必填字段\r\n";

          ]]></end>

        </field>

        <end><![CDATA[

        ]]></end>

    </record>

    <end><![CDATA[

        if(Root.occur_100 == 0)

          Root.strResult += "本记录缺100字段, 100字段为必备字段...\r\n";

        if(Root.occur_101 == 0)

          Root.strResult += "本记录缺101字段, 101字段为必备字段...\r\n";

          if(Root.occur_200 == 0)

          Root.strResult += "本记录缺200字段, 200字段为必备字段...\r\n";

        if(Root.occur_700 + Root.occur_710 + Root.occur_720 > 1)

          Root.strResult += "记录中700 710 720字段只能有其中一个...\r\n";

        if(Root.occur_801 == 0)

          Root.strResult += "本记录缺801字段, 801字段为必备字段...\r\n";

        Host.ResultString += strResult;  

        // MessageBox.Show(Host.DetailForm, strResult);

        //sw.Stop();

        //MessageBox.Show("运行时间:"  + sw.ElapsedMilliseconds);

    ]]></end>

</filter>



发表时间: 2014-06-11 13:15:59
最后修改时间: 2014-06-12 08:39:45
页 1 / 1
 

在线用户
(无) 
当前栏目在线用户数 0, 总在线用户数 0