Amaya 11.1 (Jan 30 2009) crashes when removing two characters and saving

"Martin J. Dürst" <[email protected]>
Newsgroups gmane.comp.web.amaya.general
Organization Aoyama Gakuin University
Message-ID <[email protected]>
Dear Amaya experts,

Amaya 11.1 (Jan 30 2009) crashes when removing two characters and saving.
To try and reproduce the problem, please open the attached document.
Move to the bottom of the document, where you find two '@' marks.
Place the carret after the "@@", then press delete twice to delete them.
At this moment, Amaya is still okay.
Now save the document (Cntl-s or clicking a button). Amaya immediately 
quits.

I hope this can be fixed. Many thanks in advance,    Martin.
-- 
#-# Martin J. Dürst, Professor, Aoyama Gakuin University
#-# http://www.sw.it.aoyama.ac.jp   mailto:[email protected]
lecture2.html (text/html, 12.8 KB)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <title>プログラミング基礎 I: XML
  の部品、日本語など世界の文字の扱い方</title>
  <meta name="generator" content="amaya 9.5, see http://www.w3.org/Amaya/" />
  <link href="../../stylesheets/slide-screen.css" rel="stylesheet"
  type="text/css" media="screen" />
  <link href="../../stylesheets/slide-proj.css" rel="stylesheet"
  type="text/css" media="projection" />
  <link href="../../stylesheets/slide-print.css" rel="stylesheet"
  type="text/css" media="print" />
  <style type="text/css">
  </style>
</head>

<body>
<h1 style="text-align: center"><strong>プログラミング基礎
I</strong></h1>

<h2 style="text-align: center"><strong>第二回</strong> (2009年
4月20日)</h2>

<h2 style="text-align: center">XML
の部品、日本語など世界の文字の扱い方</h2>

<p style="text-align: center"><a
href="http://www.sw.it.aoyama.ac.jp/2009/PB1/lecture2.html">http://www.sw.it.aoyama.ac.jp/2009/PB1/lecture2.html</a></p>

<h3 style="text-align: center">Martin J. Dürst</h3>

<p class="letterhead"><a href="http://www.aoyama.ac.jp/"><img alt="AGU"
src="../../stylesheets/aoyamalogo.jpg" /></a></p>

<p class="signature">© 2006-9 <a href="mailto:[email protected]">Martin
J. Dürst</a> <a href="http://www.aoyama.ac.jp/">青山学院大学</a></p>

<h1>今日の予定</h1>
<ul>
  <li>先週の準備、宿題</li>
  <li>XML の主な部品: XML 宣言、要素、属性</li>
  <li>XML と文字コード</li>
  <li>演習</li>
</ul>

<h1>先週の準備と宿題</h1>
<ul>
  <li>Moodle のアカウント作成と授業登録</li>
  <li>演習: XML 文書の作成 (締切延長: 4月20日 (月) 22:00)</li>
</ul>

<h1>先週の XML の例</h1>
<pre>&lt;?xml version="1.0" ?&gt;
&lt;Letter date="2009-04-13"&gt;
    &lt;to&gt;Students&lt;/to&gt;
    &lt;from&gt;Martin&lt;/from&gt;
    &lt;Title&gt;Reminder&lt;/Title&gt;
    &lt;Text&gt;Please don't forget
        your homework.&lt;/Text&gt;
&lt;/Letter&gt;</pre>

<h1>XML の主な部品</h1>
<ul>
  <li>要素 (element)</li>
  <li>属性 (attribute)</li>
  <li>XML 宣言 (XML declaration)</li>
</ul>

<h1>XML の部品: 要素</h1>

<p>(<a href="http://www.w3.org/TR/REC-xml/#sec-starttags">element</a>)</p>

<p>例: <code>&lt;to&gt;Students&lt;/to&gt;</code></p>
<ul>
  <li>要素は普通「開始タグ」(start tag, <code>&lt;to&gt;</code>)
    で始まって、「終了タグ」(end tag, <code>&lt;/to&gt;</code>)
    で終わる</li>
  <li>要素には要素名 (element name, <code>to</code>) がある</li>
  <li>要素名は開始タグと終了タグで一致
    (<code>&lt;to&gt;Students&lt;/<span
  class="wrong">from</span>&gt;</code>)</li>
  <li>開始タグと終了タグの間には要素の内容 (content,
    <code>Students</code>) がある</li>
  <li>要素内容は単なるテキストまたは更なる要素</li>
  <li>開始タグは <code>&lt;</code> と <code>&gt;</code>
  で区切る。</li>
  <li>終了タグは <code>&lt;/</code> と <code>&gt;</code>
  で区切る。</li>
</ul>

<h1>要素の例の分解:</h1>
<dl>
  <dt>要素:</dt>
    <dd><code>&lt;Title&gt;Reminder&lt;/Title&gt;</code></dd>
  <dt>開始タグ:</dt>
    <dd><code>&lt;Title&gt;</code></dd>
  <dt>終了タグ:</dt>
    <dd><code>&lt;/Title&gt;</code></dd>
  <dt>内容:</dt>
    <dd><code>Reminder</code></dd>
</dl>

<h1>XML の部品: 属性</h1>

<p>(<a href="http://www.w3.org/TR/REC-xml/#attdecls">attribute</a>)</p>
<ul>
  <li>要素の開始タグには要素名の後に属性が使える</li>
  <li>例: <code>date="2008-04-13"</code></li>
  <li>属性はスペース (半角!) で区切る</li>
  <li>属性名 (attribute name, <code>date</code>) と属性値 (attribute
    value, <code>2008-04-13</code>) の間に <code>=</code> が入る</li>
  <li>属性値は必ず <code>"</code> (もしくは <code>'</code>) で囲む
    (両側は同じでないといけない)</li>
  <li>正: <code>date='2008-04-13'</code> 又は
  <code>date="2008-04-13"</code></li>
  <li>誤: <code>date=<span class="wrong">"2008-04-13'</span></code> 又は
    <code>date=<span class="wrong">'2008-04-13"</span></code></li>
</ul>

<h1>空の要素の書き方</h1>

<p>要素に内容がない場合、<br />
<code>&lt;example&gt;&lt;/example&gt;</code> を<br />
<code>&lt;example /&gt;</code> に省略が可能。</p>

<p>属性がある場合:</p>

<p><code>&lt;example type='simple'&gt;&lt;/example&gt;</code><br />
⇒ <code>&lt;example type='simple' /&gt;</code></p>

<h1>要素名と属性名</h1>
<ul>
  <li>日本語も世界の他の言語の文字も使える</li>
  <li>半角カナ、全角ローマ字、中点 (・)
    など一部の文字は使えない</li>
  <li>最初の文字として数字は使えない (漢数字は大丈夫)</li>
  <li>名前の中にはスペースは使えない</li>
</ul>

<p>少々長くても<strong>分かりやすい名前</strong>がとても大事</p>

<h1>XML 宣言</h1>

<p>(<a href="http://www.w3.org/TR/REC-xml/#sec-prolog-dtd">XML
declaration</a>)</p>
<pre>&lt;?xml version="1.0"?&gt;</pre>

<p>文字符号化の指定の場合:</p>

<p><code>&lt;?xml version="1.0"
encoding="</code><var>文字符号化</var><code>" ?&gt;</code></p>

<p><code>encoding</code>
で<strong>指定したものと実際の符号化が合わないといけない</strong>!</p>

<p>(バージョンが 1.0 で、符号化が UTF-8 (又は UTF-16
か別途指定の場合) の場合には XML 宣言が無くてもよい)</p>

<h1>文字コード</h1>

<p>(Character encoding)</p>
<ul>
  <li>文字をコンピュータの中で表す方法が複数ある。</li>
  <li>この方法は文字符号化や文字コードという。</li>
  <li>文字符号化には正式なラベルと色々な名前・あだ名がある</li>
  <li><code>encoding</code> では必ず正式なラベルを使う
    (大文字・小文字は問わない)</li>
</ul>

<h1>文字符号化の種類</h1>
<ul>
  <li><code>US-ASCII</code>:
    ローマ字と一部の特殊文字だけ。ほぼ世界全体で使われている。</li>
  <li><code>Shift_JIS</code> (シフト JIS、SJIS): PC や MacIntosh
    で伝統的な日本語用の符号化</li>
  <li><code>EUC-JP</code> (EUC): UNIX/Linux
    などで伝統的な日本語用の符号化</li>
  <li><code>iso-2022-jp</code> (JIS):
    電子メールなどで伝統的に使われている日本語用の符号化</li>
  <li><code>UTF-8</code>: <a
    href="http://www.unicode.org/">ユニコード</a>に基づく世界の文字を
    (ほぼ) すべて扱える符号化; US-ASCII と互換</li>
  <li><code>UTF-16</code>: UTF-8 と似ているが、US-ASCII
    と互換でない</li>
</ul>

<h1>文字を数字で表す</h1>

<p>XML では文字符号化と関係なくテキスト
(要素の内容と属性値)
でユニコードのすべての文字を、数字を使って表せる
(要素名などを抜く)</p>

<p>書き方:</p>
<ul>
  <li>十六進数 (普通): <code>&amp;#x<var>ABCD</var>;</code></li>
  <li>十進数 (例外): <code>&amp;#<var>12345</var></code><code>;</code></li>
  <li>十六進数は 0-9 以外にA-F (もしくは a-f) も使う</li>
  <li><code>&amp;#x</code> の <code>x</code>
    は小文字でないといけない (正: <code>&amp;#xAbCd;</code>, 誤:
    <code>&amp;#<span class="wrong">X</span>AbCd;</code>)</li>
  <li><code>&amp;</code> そのものは <code>&amp;amp;</code>
    で表す。他に <code>&amp;lt;</code> (&lt;), <code>&amp;gt;</code>
    (&gt;), <code>&amp;apos;</code> ('), <code>&amp;quot;</code> (")
  がある</li>
</ul>

<h1>文字コードの関係</h1>

<table border="1" style="width: 100%">
  <col />
  <col />
  <col />
  <col />
  <tbody>
    <tr>
      <td>文字コード</td>
      <td>対応するエディター</td>
      <td>使える文字</td>
      <td>使えない文字</td>
    </tr>
    <tr>
      <td><code>US-ASCII</code></td>
      <td>メモ帳、notepad2</td>
      <td>abc..., ABC..., 123...</td>
      <td>その他の多くの文字</td>
    </tr>
    <tr>
      <td><code>UTF-8</code></td>
      <td>メモ帳、notepad2</td>
      <td>世界「すべて」の文字</td>
      <td>一部の歴史的な文字</td>
    </tr>
    <tr>
      <td><code>Shift_JIS</code></td>
      <td>メモ帳</td>
      <td>漢字第一、第二水準など</td>
      <td>ü など日本語以外の文字</td>
    </tr>
  </tbody>
</table>

<h1>演習</h1>
<ol>
  <li>メモ帳で XML 文書に日本語を入れる</li>
  <li>特殊文字の追加</li>
  <li>文字を数字で表す</li>
  <li>要素名、属性名も日本語にする</li>
  <li>演習結果の確認と <a
    href="http://moo.sw.it.aoyama.ac.jp/">Moodle</a>
  へのアップロード</li>
</ol>

<p>ヒント:</p>
<ul>
  <li>段階的に進む</li>
  <li>途中経過 (エラーを含む) を確認</li>
</ul>

<h1>演習 1: XML 文書に日本語を入れる</h1>
<ul>
  <li>先週作った XML 文書を「メモ帳」<br />
    (notepad2 ではなく!) で開く</li>
  <li>文書の一部を日本語に変更する</li>
  <li>上書き保存する</li>
  <li>IE で確認 (エラーになるはず)</li>
  <li>一行目を次に変更:<br />
    <code>&lt;?xml version="1.0" encoding="shift_jis"?&gt;</code></li>
  <li>IE で確認 (エラーが消えるはず)</li>
</ul>

<h1>演習 2: 特殊文字の追加</h1>
<ul>
  <li><code>&lt;from&gt;</code> のところを「Martin J.
    Dürst」に完成する (ヒント: <a
    href="http://www.sw.it.aoyama.ac.jp/D%C3%BCrst/name.html">名前の書き方</a>の「<a
    href="http://www.sw.it.aoyama.ac.jp/D%C3%BCrst/name.html#IME">MS
    IME</a>」参照)</li>
  <li>「メモ帳」で上書き保存 (警告を無視)</li>
  <li>IE で確認 (ü が u になるはず)</li>
  <li>「メモ帳」で名前をつけて保存。「文字コード」で「UTF-8」を選ぶ
    (「ファイルの種類」を「すべてのファイル」にし、拡張子を
    <code>.xml</code> に)</li>
  <li>IE で確認 (エラーになるはず)</li>
  <li>一行目を次のいずれかに変更:<br />

    <pre>&lt;?xml version="1.0" encoding="UTF-8" ?&gt;<br />&lt;?xml version="1.0" ?&gt;</pre>
  </li>
  <li>IE で確認 (エラーが両方の場合とも消えるはず)</li>
</ul>

<h1>演習 3: 文字を数字で表す</h1>
<ul>
  <li>演習 2 のファイルを notepad2 で開く</li>
  <li>notepad2 の「ファイル」→「文字コード」→「UTF-8」
    (with signature ではない方!) に設定する</li>
  <li><code>&lt;to&gt;</code>
    のところの「Students」を自分の名前に変更する</li>
  <li>IE で確認</li>
  <li>自分の名前一字一字を数字 (十六進数) で表す<br />
    (ヒント: IME パッド→文字一覧→Unicode→CJK
    統合漢字で探す。マウスで押すとUnicode: <code>0xABCD</code>
    みたいな番号が出る。これを <code>&amp;#xABCD;</code> として
    XML 文書に入れる)<br />
  </li>
  <li>IE で確認</li>
</ul>

<h1>演習 4: 要素名、属性名も日本語にする</h1>
<ul>
  <li>文書全体 (<code>&lt;from&gt;</code> の内容以外)
    を日本語にする</li>
  <li>要素名も日本語にする</li>
  <li>属性名も日本語にする</li>
  <li>ヒント: 作業中頻繁に IE で確認</li>
</ul>

<h1>演習問題・宿題のアップロード</h1>

<p>締切: 2008年 4月 24日 (金曜日) 22:00</p>

<p>提出方法: Moodle にアップロード</p>

<p>確認点:</p>
<ul>
  <li>要素名、属性名、文章の内容が日本語</li>
  <li><code>&lt;to&gt;</code>
    に相当する要素の内容が数字で表した自分の名前</li>
  <li><code>&lt;from&gt;</code> に相当する要素の内容が「Martin J.
    Dürst」</li>
  <li>IE でエラーなく表示される</li>
</ul>

<h1>ソフトのインストール</h1>

<p>自分でパソコンを持っている場合:</p>

<p>(MS Windows 用; 他の OS の場合には相談してください)</p>
<ul>
  <li>テキストエディタ: 
    <p>推薦: <a
    href="http://www.flos-freeware.ch/notepad2.html"><code>notepad2</code></a>
    (メニューが英語、http://www.flos-freeware.ch/notepad2.html)</p>
    <p><a
    href="http://www.sw.it.aoyama.ac.jp/2007/PB1/notepad2_ja.zip">日本語</a>
    (少し古い)</p>
  </li>
  <li>ブラウザ: 
    <p>Internet Explorer 6 (インストールする必要がない)</p>
    <p><a href="http://www.opera.com/">http://www.opera.com</a> から Download
    Opera を選んで、指示に従って進む</p>
  </li>
</ul>

<h1>次回のための準備</h1>
<ul>
  <li>自分のパソコンにソフトをインストール</li>
  <li>今日出来なかった演習を宿題として完成</li>
  <li>@@出来た文書を電子的に取っておく<br />
    (Z:\ ドライブや USB メモリ)</li>
</ul>
</body>
</html>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.