private static void outputDiagramLink(DiagramLinkVO diaLinkVO, int depth, StreamWriter sw)
        {
            sw.Write(StringUtil.indent(depth) + "<diagramLink ");
            if (diaLinkVO.changed != ' ')
            {
                sw.Write("changed=\"" + diaLinkVO.changed + "\" ");
            }

            sw.Write("connectorId=\"" + diaLinkVO.connectorId + "\" ");
            sw.Write("hidden=\"" + diaLinkVO.hidden + "\" ");
            sw.Write("geometry=\"" + StringUtil.escapeXML(diaLinkVO.geometry) + "\" ");
            sw.Write("style=\"" + StringUtil.escapeXML(diaLinkVO.style) + "\" ");
            sw.WriteLine(" />");
        }
        private void readDiagramLinksByDiagram(DiagramVO diag)
        {
            // Console.WriteLine("readDiagramLinksByDiagram(): diagramId =" + diag.diagramId);

            string strSQL, strFields, strWhere;

            // 読み込む項目リスト
            strFields =
                "DiagramID, ConnectorID, Geometry, Style, Hidden, " +
                "Path, Instance_ID ";

            // WHERE文: DBに対しては主に パッケージID で検索(キー=IDで結合する必要があるため)
            strWhere = " where  DiagramID = " + diag.diagramId;

            // SQL文 を作成
            strSQL = "select " + strFields +
                     " from t_diagramlinks  " +
                     strWhere +
                     " ORDER BY Instance_ID ";

            OleDbCommand dbCom = new OleDbCommand();

            // SQLを実行する
            dbCom.CommandText = strSQL;
            dbCom.Connection  = objConn;

            OleDbDataReader      reader          = dbCom.ExecuteReader();
            List <DiagramLinkVO> retDiagramLinks = new List <DiagramLinkVO>();

            // 結果を表示します。
            while (reader.Read())
            {
                DiagramLinkVO diagLink = new DiagramLinkVO();

                diagLink.changed     = ' ';
                diagLink.diagramId   = DbUtil.readIntField(reader, 0);
                diagLink.connectorId = DbUtil.readIntField(reader, 1);
                diagLink.geometry    = DbUtil.readStringField(reader, 2);
                diagLink.style       = DbUtil.readStringField(reader, 3);
                diagLink.hidden      = DbUtil.readBoolField(reader, 4);
                diagLink.path        = DbUtil.readStringField(reader, 5);
                diagLink.instanceId  = DbUtil.readIntField(reader, 6);

                // 返却用の要素のリストに追加
                retDiagramLinks.Add(diagLink);
            }
            reader.Close();

            diag.diagramLinks = retDiagramLinks;
        }
        private static DiagramLinkVO readDiagramLinkNode(XmlNode diagLinkNode)
        {
            DiagramLinkVO diagLinkObj = new DiagramLinkVO();

            foreach (XmlAttribute attr in diagLinkNode.Attributes)
            {
                switch (attr.Name)
                {
                case "connectorId":
                    diagLinkObj.connectorId = readAttributeIntValue(attr);
                    break;

                case "hidden":
                    diagLinkObj.hidden = readAttributeBooleanValue(attr);
                    break;

                case "geometry":
                    diagLinkObj.geometry = attr.Value;
                    break;
                }
            }

            return(diagLinkObj);
        }