ボタンを追加する

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  プログラマーのレファレンス > ActiveX Integration > ActiveX 統合のサンプル > HTML > ドキュメントレベルの HTML 統合 >

ボタンを追加する

サンプルでは、 自動化コードを表示するボタンを追加します。

 

<p>

 <input type="button" value="New File" onclick="BtnNewFile(objDoc1)">

 <input type="button" value="Save File" onclick="BtnSaveFile(objDoc1)">

 <input type="text" title="Path" id="strPath" width="150">

 <input type="button" value="Open OrgChart.xml" onclick="BtnOpenFile(objDoc1, 'OrgChart.xml')">

 <input type="button" value="Open OrgChart.xsd" onclick="BtnOpenFile(objDoc1, 'OrgChart.xsd')">

<p>

 

対応する JavaScript 修正は以下のようになります:

 

<SCRIPT ID="Javahandlers" LANGUAGE="javascript">

// ---------------------------------------------------------

// open a document in the specified document control window.

function BtnOpenFile(objDocCtrl, strFileName)

{

 // do not use XMLSpyX.Application.OpenDocument(...) to open a document,

 // since then XMLSpyControl wouldn't know a control window to show

 // the document in. Instead:

 

 objDocCtrl.Open("C:\Documents and Settings\username\My Documents\Altova\XMLSpy2019\Examples/" + strFileName);

 objDocCtrl.setActive();

 

}

 

// -------------------------------------------------------------------

// open a new empty document in the specified document control window.

function BtnNewFile(objDocCtrl)

{

 objDocCtrl.Open("");

 objDocCtrl.setActive();

}

 

// -------------------------------------------------------------------

// Saves the current file in the specified document control window.

function BtnSaveFile(objDocCtrl)

{

 if(objDocCtrl.Path.length > 0)

         objDocCtrl.SaveDocument();

 else

 {

         if(strPath.value.length > 0)

         {

                 objDocCtrl.Path = strPath.value;

                 objDocCtrl.Save();

         }

         else

         {

                 alert("Please set path for the document first!");

                 strPath.focus();

         }

 }

 

 objDocCtrl.setActive();

}

 

// ----------------------------------------------------------------------

// check validity of current document.

// if validation fails, show validation result in alert box .

function BtnValidate()

{

 // get top-level object of automation interface

 var objApp = objXMLSpyControl.Application;

 

 // get the active document

 var objDocument = objApp.ActiveDocument;

 

 if ( objDocument == null )

         alert( "no active document found" );

 else

 {

         // define as arrays to support their usage as return parameters

         var errorText = new Array(1);

         var errorPos = new Array(1);

         var badData = new Array(1);

 

         var valid = objDocument.IsValid(errorText, errorPos, badData);

 

         if (! valid)

         {

                    // compose the error description

                    var text = errorText;

 

                    // access that XMLData object only if filled in

                    if (badData[0] != null)

                            text += "(" + badData[0].Name + "/" + badData[0].TextValue + ")";

 

 

                    alert("Validation error[" + errorPos + "]: " + text);

         }

         else

                 alert("Docuent is valid");

 }

}

</SCRIPT>

 


(C) 2018 Altova GmbH