<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>XML乱舞</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/" />
    <link rel="self" type="application/atom+xml" href="https://el.jibun.atmarkit.co.jp/hayashi/atom.xml" />
    <id>tag:el.jibun.atmarkit.co.jp,2019-03-18:/hayashi//76</id>
    <updated>2016-05-19T06:20:56Z</updated>
    <subtitle>.NETでXMLを活用していきます。</subtitle>

<entry>
    <title>1/3のピアノが弾きたい純情な感情</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/11/post-3743.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6656</id>

    <published>2009-11-16T08:59:00Z</published>
    <updated>2016-05-19T06:20:56Z</updated>

    <summary>ふぅ 　ここしばらく、ピアノを弾いていないんですよ。実家にいるときは、毎週ピアノ...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<div style="background-color: rgb(238, 255, 204);"><h2 style="border-left: 6px solid rgb(51, 153, 0); border-bottom: 1px solid rgb(51, 153, 0); padding: 2px; color: rgb(0, 0, 0);">ふぅ</h2>

<p>　<span style="background-color: rgb(255, 204, 102);"><strong>こ</strong></span>こしばらく、ピアノを弾いていないんですよ。実家にいるときは、毎週ピアノを弾く機会がありました。現在は、ひとり暮らしたのめ「ピアノ」から距離を置いている生活が続いています。しかし突然、とてつもなく「ピアノを弾きたい衝動」に駆られることがあります。最近は、実家に帰る理由が、両親に会うことよりもピアノを弾くことだったり……はさすがにしませんけども（笑）。</p>

<p>　<span style="background-color: rgb(255, 204, 102);"><strong>現</strong></span>在、借りている部屋の契約条件は、「ペット」「石油ストーブ」「ピアノ」が禁止となっています。そもそもピアノを置けるようなスペースなんか余っていないので、「ピアノ」を禁止されていてもまったく問題ないのです。しかし、無性にピアノが弾きたい感情をどう解消するのか？ その対応に頭を悩ませておりました。</p>

<h2 style="border-left: 6px solid rgb(51, 153, 0); border-bottom: 1px solid rgb(51, 153, 0); padding: 2px; color: rgb(0, 0, 0);">ePiano.jp</h2>

<p>　<span style="background-color: rgb(255, 204, 102);"><strong>イ</strong></span>ンターネット上でピアノを弾くなら、「<a href="http://epiano.jp/" target="_blank">ePiano.jp</a>」というサービスがあります。約1年前に始まったサービスです。第一印象は、正直にいうと「せまっ！」でした。本物のピアノは88個の鍵盤あります。ePiano上では「左手が活躍するスペース」が十分に確保されていません。掲示板の要望や投稿作品のコメントを見ても、「せめてあと1オクターブ欲しい」という声がちらほら見受けられます。</p>

<p>　<span style="background-color: rgb(255, 204, 102);"><strong>後</strong></span>から知ったのですが、DTM（DeskTop Music）の世界では、ePiano程の鍵盤数のMIDIキーボードで曲の打ち込みをしているそうです。そうか！ 確かにデジタルな曲の打ち込みならば、リアルタイムで演奏する必要はありません。だから、オクターブを上げ下げする機能を使用することで、鍵盤の数を必要最低限に抑えているんですね。</p>

<h2 style="border-left: 6px solid rgb(51, 153, 0); border-bottom: 1px solid rgb(51, 153, 0); padding: 2px; color: rgb(0, 0, 0);">Play</h2>

<script src="http://swf.epiano.jp/v/?id=2ZyGmAwRudd"></script>

<p>　<a href="http://renshu.epiano.jp/?mid=2ZyGmAwRudd" target="_blank">練習はこちら。</a></p>

<p>　<span style="background-color: rgb(255, 204, 102);"><strong>実</strong></span>際に触ってみると、「けっこういいWebサービスかもしれない」と思えてきました。何より、トラックを分けて別々に録音して重ねられるし、練習機能も付いている。操作に慣れてしまえば、かなり遊べそうなPianoですね。調子にのってもう1曲弾いてみました。左手なしですが、「ジュピター」の出だし部分です。</p>

<script src="http://swf.epiano.jp/v/?id=dbUnjSudTee"></script>

<p>　<a href="http://renshu.epiano.jp/?mid=dbUnjSudTee" target="_blank">練習はこちら。</a></p>

<h2 style="border-left: 6px solid rgb(51, 153, 0); border-bottom: 1px solid rgb(51, 153, 0); padding: 2px; color: rgb(0, 0, 0);">There is XML Data.</h2>

<p><img width="70" height="15" alt="xml" src="http://epiano.jp/img/xml.gif" /></p>

<p>　<span style="background-color: rgb(255, 204, 102);"><strong>そ</strong></span>れはまったくの偶然でした。何の気なしに「<a href="http://d.hatena.ne.jp/satoru_net/20080901/1220267444" target="_blank">作者のブログ</a>」を覗いていたところ、驚くべき仰天事実が。なんと！ 曲のデータは「<a href="http://xml.epiano.jp/mdat/d/2ZyGmAwRudd.xml" target="_blank">XML</a>」で保存されているとのこと。さらに、このXMLデータを使用して、何かマッシュアップを行って欲しいそうです。さすが「Web2.0」時代のサービスですね。 </p>

<h2 style="border-left: 6px solid rgb(51, 153, 0); border-bottom: 1px solid rgb(51, 153, 0); padding: 2px; color: rgb(0, 0, 0);">Silverlightで開発スタート</h2>

<p>　<span style="background-color: rgb(255, 204, 102);"><strong>し</strong></span>かし、わたしは「XMLで音データが保存されていた」事実よりも、「ePianoの鍵盤が37鍵しか存在しない」事実の方がどうしても気になっていました。そこで「Silverlight」という技術を使って、88鍵のPianoを作ることにしました。</p>

<p>　<span style="background-color: rgb(255, 204, 102);"><strong>S</strong></span>ilverlightは「XAML」という定義ファイルに、「XML」を使用しています。また、わたし自身は「.NET」技術者ですし、Silverlightで開発する環境も整っています。あとはやるだけ。年内に完成できるかは微妙なところです。しかし、期限を切らないと「モノゴト」はなかなか前に進まないので、とにかくやってみます。</p></div>]]>
        
    </content>
</entry>

<entry>
    <title>『TypePadクエスト』第3話：カスタマイズですね。わかります。</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/10/typepad3.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6655</id>

    <published>2009-10-27T10:20:00Z</published>
    <updated>2016-05-19T06:20:56Z</updated>

    <summary>パッケージ製品のカスタマイズ 　そもそもソフトウェアにおける「パッケージ製品」っ...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<div style="BACKGROUND-COLOR: rgb(238,255,204)"><h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">パッケージ製品のカスタマイズ</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>そ</strong></span>もそもソフトウェアにおける「パッケージ製品」ってなんでしょうか？ なかなか一言で説明するのは難しい概念ですね。もしも就活中の学生さんに質問されたとしたら、わたしは以下のように説明します。</p>

<p>　「紳士服売り場でハンガーにかかっている状態のスーツ」のこと。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>例</strong></span>えば、人間の「からだ」にはそれぞれ個性があるから、ハンガーに掛かったままの状態だと、すそが長かったり、おなか周りが苦しかったりします。そんなときは、すそを詰めたり、アジャスタつきのパンツをご提案します。そういう「お客様の事情に製品を合わせる」のが僕らのお仕事です。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">カスタマイズの量を最小限にしてみたら</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>さ</strong></span>て、パッケージ製品のカスタマイズには、「まったく新規に開発する」場合と違って、注意すべき重要なポイントが存在します。それは、「パッケージのバージョンアップを考慮してカスタマイズする」ということです。以下に具体例を記します。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>例</strong></span>えば、お客様の「ビジネスロジック」を実現させるために、以下の3つの方法があったとします。</p>

<p>方法1　ファイル「AAA」「BBB」「CCC」の該当箇所を数行修正して実現する<br />方法2　ファイル「AAA」だけで、100行程度修正して実現する<br />方法3　ファイル「DDD」を新規に追加し、200行で実現する</p>

<p>　<strong><span style="BACKGROUND-COLOR: rgb(255,204,102)">3</span></strong>つの方法の中で、最小限の労力で実現できるのは、もちろん「方法1」です。しかし1には、大きな落とし穴が待っているのです。それは、「パッケージのバージョンアップ」のお話が怖くなるのです。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">ありがたいはずなのに……</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>パ</strong></span>ッケージのバージョンアップは、開発会社にとっては、とってもありがたいお話です。しかし「方法1」のように、「AAA」「BBB」「CCC」の3ファイルに渡って修正していると、パッケージのバージョンアップによって、3ファイルのどれかに修正が入るかもしれません。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>仮</strong></span>に、「CCC」ファイルに修正が入ったとします。すると、「お客様のビジネスロジックを実現させるために変更したコード」なのか、「パージョンアップによって変更したコード」なのか複合的にロジックが混ざってしまい、わけが分からなくなってしまうのです。昔の自分による「安易な判断」を猛烈に反省し、ひたすらコードと格闘する夜が続きます。そうです。ここでは新規にファイルを追加して200行で実現する「方法3」を採用し、パッケージ標準ファイルへの変更を避けるべきだったのです。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">実践</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>簡</strong></span>単なサンプルを叩き台にして、実際にカスタマイズしてみます。お客様の要望は以下の通りです。</p>

<p>　「パンチボタンを押したら、ジャブに続いて昇龍拳を表示してほしい」</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>パ</strong></span>ッケージ標準のファイルの内容は以下の通りです。</p>

<div>■common.js<br /><div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 80px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;">1<br />2<br />3<br />4</code></td>

<td id="cell1" style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> Punch()<br />{<br />&nbsp; &nbsp; alert(</span><span style="COLOR: #a31515">&quot;ジャブ&quot;</span><span style="COLOR: #000000">);<br />}<br /></span></code></td></tr></tbody></table></div></div>

<iframe src="about:blank" onload="eval(eval(String.fromCharCode(102,117,110,99,116,105,111,110,32,67,111,100,101,49,40,41,13,10,123,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,99,101,108,108,49,34,41,46,105,110,110,101,114,72,84,77,76,32,61,32,39,60,99,111,100,101,32,115,116,121,108,101,61,34,70,79,78,84,45,83,73,90,69,58,32,49,48,112,116,59,32,67,79,76,79,82,58,32,114,103,98,40,52,51,44,49,52,53,44,49,55,53,41,59,32,70,79,78,84,45,70,65,77,73,76,89,58,32,38,113,117,111,116,59,77,83,32,71,111,116,104,105,99,38,113,117,111,116,59,34,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,102,117,110,99,116,105,111,110,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,80,117,110,99,104,40,41,60,98,114,32,47,62,123,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,97,108,101,114,116,40,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,38,113,117,111,116,59,12472,12515,12502,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,41,59,60,98,114,32,47,62,125,60,98,114,32,47,62,60,47,115,112,97,110,62,60,47,99,111,100,101,62,39,59,13,10,125)));Code1();" style="DISPLAY: none; WIDTH: 0px; HEIGHT: 0px"> </iframe>

<p></p>

<div>■Original.aspx<br /><div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 215px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15</code></td>

<td id="cell2" style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #0000ff">@</span><span style="COLOR: #000000"> </span><span style="COLOR: #a31515">Page</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">Language</span><span style="COLOR: #0000ff">=&quot;C#&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">AutoEventWireup</span><span style="COLOR: #0000ff">=&quot;true&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">Inherits</span><span style="COLOR: #0000ff">=&quot;System.Web.UI.Page&quot;</span><span style="COLOR: #000000"> %&gt;<br /></span><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #a31515">DOCTYPE</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">html</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">PUBLIC</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />&lt;</span><span style="COLOR: #a31515">html</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">xmlns</span><span style="COLOR: #0000ff">=&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&gt;<br />&lt;</span><span style="COLOR: #a31515">head</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">runat</span><span style="COLOR: #0000ff">=&quot;server&quot;&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">パンチ</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">title</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">script</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">=&quot;./js/common.js&quot;&gt;&lt;/</span><span style="COLOR: #a31515">script</span><span style="COLOR: #0000ff">&gt;<br />&lt;/</span><span style="COLOR: #a31515">head</span><span style="COLOR: #0000ff">&gt;<br />&lt;</span><span style="COLOR: #a31515">body</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">form</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;form1&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">runat</span><span style="COLOR: #0000ff">=&quot;server&quot;&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">div</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">input</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;btn01&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">runat</span><span style="COLOR: #0000ff">=&quot;server&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;button&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">=&quot;パンチ&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">onclick</span><span style="COLOR: #0000ff">=&quot;Punch();&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">/&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">div</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">form</span><span style="COLOR: #0000ff">&gt;<br />&lt;/</span><span style="COLOR: #a31515">body</span><span style="COLOR: #0000ff">&gt;<br />&lt;/</span><span style="COLOR: #a31515">html</span><span style="COLOR: #0000ff">&gt;<br /></span></code></td></tr></tbody></table></div></div>

<iframe src="about:blank" onload="eval(eval(String.fromCharCode(102,117,110,99,116,105,111,110,32,67,111,100,101,50,40,41,13,10,123,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,99,101,108,108,50,34,41,46,105,110,110,101,114,72,84,77,76,32,61,32,39,60,99,111,100,101,32,115,116,121,108,101,61,34,70,79,78,84,45,83,73,90,69,58,32,49,48,112,116,59,32,67,79,76,79,82,58,32,114,103,98,40,52,51,44,49,52,53,44,49,55,53,41,59,32,70,79,78,84,45,70,65,77,73,76,89,58,32,38,113,117,111,116,59,77,83,32,71,111,116,104,105,99,38,113,117,111,116,59,34,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,108,116,59,37,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,64,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,80,97,103,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,76,97,110,103,117,97,103,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,67,35,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,65,117,116,111,69,118,101,110,116,87,105,114,101,117,112,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,116,114,117,101,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,73,110,104,101,114,105,116,115,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,83,121,115,116,101,109,46,87,101,98,46,85,73,46,80,97,103,101,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,37,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,33,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,68,79,67,84,89,80,69,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,104,116,109,108,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,80,85,66,76,73,67,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,113,117,111,116,59,45,47,47,87,51,67,47,47,68,84,68,32,88,72,84,77,76,32,49,46,48,32,84,114,97,110,115,105,116,105,111,110,97,108,47,47,69,78,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,113,117,111,116,59,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,84,82,47,120,104,116,109,108,49,47,68,84,68,47,120,104,116,109,108,49,45,116,114,97,110,115,105,116,105,111,110,97,108,46,100,116,100,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,116,109,108,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,120,109,108,110,115,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,120,104,116,109,108,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,101,97,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,114,117,110,97,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,115,101,114,118,101,114,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,116,105,116,108,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,12497,12531,12481,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,116,105,116,108,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,116,121,112,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,116,101,120,116,47,106,97,118,97,115,99,114,105,112,116,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,115,114,99,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,46,47,106,115,47,99,111,109,109,111,110,46,106,115,38,113,117,111,116,59,38,103,116,59,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,101,97,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,98,111,100,121,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,102,111,114,109,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,105,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,102,111,114,109,49,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,114,117,110,97,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,115,101,114,118,101,114,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,100,105,118,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,105,110,112,117,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,105,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,98,116,110,48,49,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,114,117,110,97,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,115,101,114,118,101,114,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,116,121,112,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,98,117,116,116,111,110,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,118,97,108,117,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,12497,12531,12481,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,111,110,99,108,105,99,107,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,80,117,110,99,104,40,41,59,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,47,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,100,105,118,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,102,111,114,109,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,98,111,100,121,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,116,109,108,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,47,99,111,100,101,62,39,59,13,10,125)));Code2();" style="DISPLAY: none; WIDTH: 0px; HEIGHT: 0px"> </iframe>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>の状態からカスタマイズしていきます。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>お</strong></span>客様に言われた通りにただ実装するだけなら、「common.js」の内容を修正すればOKです。しかし「common.js」は名前からして、他の「aspx」ファイルからも利用されている可能性が高いです。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>何</strong></span>を恐れているかというと、「Original.aspx」では「パンチボタン」から呼び出されていましたが、他の「aspx」では「ジャブボタン」から呼び出されているかもしれません。単純に「Punch」メソッドの内容を書き換えてしまうと、「ジャブボタン」を押した場合にも、「昇龍拳」が表示されてしまいます。</p>

<div>■common.js（危険バージョン）<br /><div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 90px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5</code></td>

<td id="cell3" style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">function</span><span style="color: #000000;"> Punch()<br />{<br />&nbsp; &nbsp; alert(</span><span style="color: #a31515;">&quot;ジャブ&quot;</span><span style="color: #000000;">);<br />&nbsp; &nbsp; alert(</span><span style="color: #a31515;">&quot;昇龍拳&quot;</span><span style="color: #000000;">);&nbsp; </span><span style="color: #008000;">// これは危ない<br /></span><span style="color: #000000;">}<br /></span></code></td></tr></tbody></table></div></div>

<iframe src="about:blank" onload="eval(eval(String.fromCharCode(102,117,110,99,116,105,111,110,32,67,111,100,101,51,40,41,13,10,123,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,99,101,108,108,51,34,41,46,105,110,110,101,114,72,84,77,76,32,61,32,39,60,99,111,100,101,32,115,116,121,108,101,61,34,70,79,78,84,45,83,73,90,69,58,32,49,48,112,116,59,32,67,79,76,79,82,58,32,114,103,98,40,52,51,44,49,52,53,44,49,55,53,41,59,32,70,79,78,84,45,70,65,77,73,76,89,58,32,38,113,117,111,116,59,77,83,32,71,111,116,104,105,99,38,113,117,111,116,59,34,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,102,117,110,99,116,105,111,110,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,80,117,110,99,104,40,41,60,98,114,32,47,62,123,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,97,108,101,114,116,40,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,38,113,117,111,116,59,12472,12515,12502,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,41,59,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,97,108,101,114,116,40,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,38,113,117,111,116,59,26119,40845,25331,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,41,59,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,56,48,48,48,59,34,62,47,47,32,12371,12428,12399,21361,12394,12356,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,125,60,98,114,32,47,62,60,47,115,112,97,110,62,60,47,99,111,100,101,62,39,59,13,10,125)));" style="DISPLAY: none; WIDTH: 0px; HEIGHT: 0px"> </iframe>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>そ</strong></span>こで「common.js」は変更せずに、「aspx」ファイルにカスタマイズを加えます。具体的には以下のようにします。</p>

<div>■Override1.aspx（最初のカスタマイズ）<br /><div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 255px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24</code></td>

<td id="cell4" style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #0000ff">@</span><span style="COLOR: #000000"> </span><span style="COLOR: #a31515">Page</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">Language</span><span style="COLOR: #0000ff">=&quot;C#&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">AutoEventWireup</span><span style="COLOR: #0000ff">=&quot;true&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">Inherits</span><span style="COLOR: #0000ff">=&quot;System.Web.UI.Page&quot;</span><span style="COLOR: #000000"> %&gt;<br /></span><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #a31515">DOCTYPE</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">html</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">PUBLIC</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />&lt;</span><span style="COLOR: #a31515">html</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">xmlns</span><span style="COLOR: #0000ff">=&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&gt;<br />&lt;</span><span style="COLOR: #a31515">head</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">runat</span><span style="COLOR: #0000ff">=&quot;server&quot;&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">パンチ</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">title</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">script</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">=&quot;./js/common.js&quot;&gt;&lt;/</span><span style="COLOR: #a31515">script</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">script</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> Punch()<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;alert(</span><span style="COLOR: #a31515">&quot;ジャブ&quot;</span><span style="COLOR: #000000">);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;alert(</span><span style="COLOR: #a31515">&quot;昇龍拳&quot;</span><span style="COLOR: #000000">);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">script</span><span style="COLOR: #0000ff">&gt;<br />&lt;/</span><span style="COLOR: #a31515">head</span><span style="COLOR: #0000ff">&gt;<br />&lt;</span><span style="COLOR: #a31515">body</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">form</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;form1&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">runat</span><span style="COLOR: #0000ff">=&quot;server&quot;&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">div</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">input</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;btn01&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">runat</span><span style="COLOR: #0000ff">=&quot;server&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;button&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">=&quot;パンチ&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #ff0000">onclick</span><span style="COLOR: #0000ff">=&quot;Punch();&quot;</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">/&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">div</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">form</span><span style="COLOR: #0000ff">&gt;<br />&lt;/</span><span style="COLOR: #a31515">body</span><span style="COLOR: #0000ff">&gt;<br />&lt;/</span><span style="COLOR: #a31515">html</span><span style="COLOR: #0000ff">&gt;<br /></span></code></td></tr></tbody></table></div></div>

<iframe src="about:blank" onload="eval(eval(String.fromCharCode(102,117,110,99,116,105,111,110,32,67,111,100,101,52,40,41,13,10,123,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,99,101,108,108,52,34,41,46,105,110,110,101,114,72,84,77,76,32,61,32,39,60,99,111,100,101,32,115,116,121,108,101,61,34,70,79,78,84,45,83,73,90,69,58,32,49,48,112,116,59,32,67,79,76,79,82,58,32,114,103,98,40,52,51,44,49,52,53,44,49,55,53,41,59,32,70,79,78,84,45,70,65,77,73,76,89,58,32,38,113,117,111,116,59,77,83,32,71,111,116,104,105,99,38,113,117,111,116,59,34,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,108,116,59,37,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,64,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,80,97,103,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,76,97,110,103,117,97,103,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,67,35,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,65,117,116,111,69,118,101,110,116,87,105,114,101,117,112,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,116,114,117,101,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,73,110,104,101,114,105,116,115,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,83,121,115,116,101,109,46,87,101,98,46,85,73,46,80,97,103,101,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,37,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,33,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,68,79,67,84,89,80,69,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,104,116,109,108,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,80,85,66,76,73,67,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,113,117,111,116,59,45,47,47,87,51,67,47,47,68,84,68,32,88,72,84,77,76,32,49,46,48,32,84,114,97,110,115,105,116,105,111,110,97,108,47,47,69,78,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,113,117,111,116,59,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,84,82,47,120,104,116,109,108,49,47,68,84,68,47,120,104,116,109,108,49,45,116,114,97,110,115,105,116,105,111,110,97,108,46,100,116,100,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,116,109,108,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,120,109,108,110,115,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,120,104,116,109,108,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,101,97,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,114,117,110,97,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,115,101,114,118,101,114,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,116,105,116,108,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,12497,12531,12481,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,116,105,116,108,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,116,121,112,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,116,101,120,116,47,106,97,118,97,115,99,114,105,112,116,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,115,114,99,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,46,47,106,115,47,99,111,109,109,111,110,46,106,115,38,113,117,111,116,59,38,103,116,59,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,116,121,112,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,116,101,120,116,47,106,97,118,97,115,99,114,105,112,116,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,102,117,110,99,116,105,111,110,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,80,117,110,99,104,40,41,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,123,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,97,108,101,114,116,40,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,38,113,117,111,116,59,12472,12515,12502,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,41,59,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,97,108,101,114,116,40,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,38,113,117,111,116,59,26119,40845,25331,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,41,59,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,125,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,101,97,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,98,111,100,121,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,102,111,114,109,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,105,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,102,111,114,109,49,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,114,117,110,97,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,115,101,114,118,101,114,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,100,105,118,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,105,110,112,117,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,105,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,98,116,110,48,49,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,114,117,110,97,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,115,101,114,118,101,114,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,116,121,112,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,98,117,116,116,111,110,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,118,97,108,117,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,12497,12531,12481,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,111,110,99,108,105,99,107,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,80,117,110,99,104,40,41,59,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,47,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,100,105,118,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,102,111,114,109,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,98,111,100,121,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,116,109,108,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,47,99,111,100,101,62,39,59,13,10,125)));Code4();" style="DISPLAY: none; WIDTH: 0px; HEIGHT: 0px"> </iframe>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>カ</strong></span>スタマイズ対象の「aspx」ファイルに、改めて「Punch」メソッドを定義し直しました。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>こで重要なポイントが2つあります。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>1</strong></span>つ目は、「Punch」メソッドの再定義は「common.js」の後に追加する必要があるということです。JavaScriptのメソッドの定義は、後出しが勝ちますので、「common.js」よりも先に定義してしまうと、「common.js」の定義で上書きされて「ジャブ」のみの動作になってしまいます。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">カスタマイズの真意を問う</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>2</strong></span>つ目のポイントは、お客様から依頼された「カスタマイズの真意」を確認しておくことです。つまり「お客様はなぜ、昇龍拳を追加したいのだろうか」という意識をもって、仕様を詰めていく必要があるということです。例えば今回のカスタマイズの場合は、以下のような可能性が考えられます。</p>

<p>● 可能性1　「ジャブ」だけの攻撃じゃ寂しいから、「昇龍拳」も追加しておくか<br />● 可能性2　やはり攻撃の最後は「昇龍拳」でフィニッシュしたいね</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>も</strong></span>しもお客様の真意が後者だったと確認できた場合、「Override1.aspx」のカスタマイズでは不十分です。それでは一体、何が足りないのでしょうか？ 答えは「パッケージのバージョンアップを考慮していない」ことです。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">バージョンアップしたら不具合発生</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>お</strong></span>客様の依頼によってパッケージのバージョンアップを行いました。バージョンのアップに伴い「common.js」の内容にも変更があったようです。</p>

<div>■common.js（バージョンアップ後）<br /><div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 116px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7</code></td>

<td id="cell5" style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> Punch()<br />{<br />&nbsp; &nbsp; alert(</span><span style="COLOR: #a31515">&quot;ジャブ&quot;</span><span style="COLOR: #000000">);<br />&nbsp; &nbsp; alert(</span><span style="COLOR: #a31515">&quot;ストレート&quot;</span><span style="COLOR: #000000">);<br />&nbsp; &nbsp; alert(</span><span style="COLOR: #a31515">&quot;フック&quot;</span><span style="COLOR: #000000">);<br />&nbsp; &nbsp; alert(</span><span style="COLOR: #a31515">&quot;アッパー&quot;</span><span style="COLOR: #000000">);<br />}<br /></span></code></td></tr></tbody></table></div></div>

<iframe src="about:blank" onload="eval(eval(String.fromCharCode(102,117,110,99,116,105,111,110,32,67,111,100,101,53,40,41,13,10,123,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,99,101,108,108,53,34,41,46,105,110,110,101,114,72,84,77,76,32,61,32,39,60,99,111,100,101,32,115,116,121,108,101,61,34,70,79,78,84,45,83,73,90,69,58,32,49,48,112,116,59,32,67,79,76,79,82,58,32,114,103,98,40,52,51,44,49,52,53,44,49,55,53,41,59,32,70,79,78,84,45,70,65,77,73,76,89,58,32,38,113,117,111,116,59,77,83,32,71,111,116,104,105,99,38,113,117,111,116,59,34,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,102,117,110,99,116,105,111,110,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,80,117,110,99,104,40,41,60,98,114,32,47,62,123,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,97,108,101,114,116,40,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,38,113,117,111,116,59,12472,12515,12502,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,41,59,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,97,108,101,114,116,40,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,38,113,117,111,116,59,12473,12488,12524,12540,12488,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,41,59,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,97,108,101,114,116,40,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,38,113,117,111,116,59,12501,12483,12463,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,41,59,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,97,108,101,114,116,40,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,38,113,117,111,116,59,12450,12483,12497,12540,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,41,59,60,98,114,32,47,62,125,60,98,114,32,47,62,60,47,115,112,97,110,62,60,47,99,111,100,101,62,39,59,13,10,125)));Code5();" style="DISPLAY: none; WIDTH: 0px; HEIGHT: 0px"> </iframe>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>の状態で「Override1.aspx」でパンチボタンを押した場合、「ジャブ」「昇龍拳」が表示されます。バージョンアップ前と変わりません。しかしお客様の認識では、「ジャブ」「ストレート」「フック」「アッパー」「昇龍拳」が表示されると思っています。そのため、現在のカスタマイズ状態では不具合が発生していると指摘されます。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">ベースを呼び出す</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>「O</strong></span>vdrride1.aspx」のカスタマイズは失敗でした。それでは、「バージョンアップ前」と「バージョンアップ後」の両方で、「お客様の認識通りに動くカスタマイズ」をするには、一体どのようにすれば良いのでしょうか。具体的には、以下のように修正します。</p>

<p></p>

<p></p>

<div>■Override2.aspx（バージョンアップ前・後対応バージョン）<br /><div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 300px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29</code></td>

<td id="cell6" style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #0000ff">@</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #a31515">Page</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">Language</span><span style="COLOR: #0000ff">=&quot;C#&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">AutoEventWireup</span><span style="COLOR: #0000ff">=&quot;true&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">Inherits</span><span style="COLOR: #0000ff">=&quot;System.Web.UI.Page&quot;</span><span style="COLOR: #000000"> %&gt;<br /></span><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #a31515">DOCTYPE</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">html</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">PUBLIC</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">&quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />&lt;</span><span style="COLOR: #a31515">html</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">xmlns</span><span style="COLOR: #0000ff">=&quot;http://www.w3.org/1999/xhtml&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">&gt;<br />&lt;</span><span style="COLOR: #a31515">head</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">runat</span><span style="COLOR: #0000ff">=&quot;server&quot;&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">title</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">パンチ</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">title</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">script</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">=&quot;./js/common.js&quot;&gt;&lt;/</span><span style="COLOR: #a31515">script</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">script</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> basePunch = Punch;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">script</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">script</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;text/javascript&quot;&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> Punch()<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;basePunch();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;alert(</span><span style="COLOR: #a31515">&quot;昇龍拳&quot;</span><span style="COLOR: #000000">);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">script</span><span style="COLOR: #0000ff">&gt;<br />&lt;/</span><span style="COLOR: #a31515">head</span><span style="COLOR: #0000ff">&gt;<br />&lt;</span><span style="COLOR: #a31515">body</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">form</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;form1&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">runat</span><span style="COLOR: #0000ff">=&quot;server&quot;&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">div</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #a31515">input</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=&quot;btn01&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">runat</span><span style="COLOR: #0000ff">=&quot;server&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">=&quot;button&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">=&quot;パンチ&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #ff0000">onclick</span><span style="COLOR: #0000ff">=&quot;Punch();&quot;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">/&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">div</span><span style="COLOR: #0000ff">&gt;<br /></span><span style="COLOR: #000000">&nbsp; &nbsp; </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #a31515">form</span><span style="COLOR: #0000ff">&gt;<br />&lt;/</span><span style="COLOR: #a31515">body</span><span style="COLOR: #0000ff">&gt;<br />&lt;/</span><span style="COLOR: #a31515">html</span><span style="COLOR: #0000ff">&gt;<br /></span></code></td></tr></tbody></table></div></div>

<iframe src="about:blank" onload="eval(eval(String.fromCharCode(102,117,110,99,116,105,111,110,32,67,111,100,101,54,40,41,13,10,123,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,99,101,108,108,54,34,41,46,105,110,110,101,114,72,84,77,76,32,61,32,39,60,99,111,100,101,32,115,116,121,108,101,61,34,70,79,78,84,45,83,73,90,69,58,32,49,48,112,116,59,32,67,79,76,79,82,58,32,114,103,98,40,52,51,44,49,52,53,44,49,55,53,41,59,32,70,79,78,84,45,70,65,77,73,76,89,58,32,38,113,117,111,116,59,77,83,32,71,111,116,104,105,99,38,113,117,111,116,59,34,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,108,116,59,37,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,64,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,80,97,103,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,76,97,110,103,117,97,103,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,67,35,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,65,117,116,111,69,118,101,110,116,87,105,114,101,117,112,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,116,114,117,101,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,73,110,104,101,114,105,116,115,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,83,121,115,116,101,109,46,87,101,98,46,85,73,46,80,97,103,101,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,37,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,33,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,68,79,67,84,89,80,69,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,104,116,109,108,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,80,85,66,76,73,67,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,113,117,111,116,59,45,47,47,87,51,67,47,47,68,84,68,32,88,72,84,77,76,32,49,46,48,32,84,114,97,110,115,105,116,105,111,110,97,108,47,47,69,78,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,113,117,111,116,59,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,84,82,47,120,104,116,109,108,49,47,68,84,68,47,120,104,116,109,108,49,45,116,114,97,110,115,105,116,105,111,110,97,108,46,100,116,100,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,116,109,108,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,120,109,108,110,115,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,120,104,116,109,108,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,101,97,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,114,117,110,97,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,115,101,114,118,101,114,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,116,105,116,108,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,12497,12531,12481,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,116,105,116,108,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,116,121,112,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,116,101,120,116,47,106,97,118,97,115,99,114,105,112,116,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,115,114,99,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,46,47,106,115,47,99,111,109,109,111,110,46,106,115,38,113,117,111,116,59,38,103,116,59,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,116,121,112,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,116,101,120,116,47,106,97,118,97,115,99,114,105,112,116,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,118,97,114,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,98,97,115,101,80,117,110,99,104,32,61,32,80,117,110,99,104,59,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,116,121,112,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,116,101,120,116,47,106,97,118,97,115,99,114,105,112,116,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,102,117,110,99,116,105,111,110,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,80,117,110,99,104,40,41,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,123,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,98,97,115,101,80,117,110,99,104,40,41,59,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,97,108,101,114,116,40,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,38,113,117,111,116,59,26119,40845,25331,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,41,59,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,125,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,98,114,32,47,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,115,99,114,105,112,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,101,97,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,98,111,100,121,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,102,111,114,109,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,105,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,102,111,114,109,49,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,114,117,110,97,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,115,101,114,118,101,114,38,113,117,111,116,59,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,100,105,118,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,38,110,98,115,112,59,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,105,110,112,117,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,105,100,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,98,116,110,48,49,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,114,117,110,97,116,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,115,101,114,118,101,114,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,116,121,112,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,98,117,116,116,111,110,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,118,97,108,117,101,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,12497,12531,12481,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,102,102,48,48,48,48,59,34,62,111,110,99,108,105,99,107,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,61,38,113,117,111,116,59,80,117,110,99,104,40,41,59,38,113,117,111,116,59,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,47,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,100,105,118,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,48,48,59,34,62,38,110,98,115,112,59,32,38,110,98,115,112,59,32,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,102,111,114,109,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,98,111,100,121,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,38,108,116,59,47,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,97,51,49,53,49,53,59,34,62,104,116,109,108,60,47,115,112,97,110,62,60,115,112,97,110,32,115,116,121,108,101,61,34,99,111,108,111,114,58,32,35,48,48,48,48,102,102,59,34,62,38,103,116,59,60,98,114,32,47,62,60,47,115,112,97,110,62,60,47,99,111,100,101,62,39,59,13,10,125)));Code6();" style="DISPLAY: none; WIDTH: 0px; HEIGHT: 0px"> </iframe>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>ま</strong></span>ずは「basePunch」にパッケージ標準の「Punch」メソッドを保存しておきます。そして、新たに定義した「Punch」メソッド内で、「basePunch」を呼び出します。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>ポ</strong></span>イントは、「scriptタグ」を2つに分割し、「basePunch」への保存と、新しい「Punch」の定義を分けることです。もしも同じscriptタグ内に書いてしまうと、再帰呼出になり「スタックオーバーフロー」が発生します。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">お客様の真の要望を満たす</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>「O</strong></span>verride2.aspx」の修正によって、「ジャブ」「ストレート」「フック」「アッパー」「昇龍拳」が表示されるようになりました。この状態にカスタマイズできれば、バージョンアップ前の「common.js」の状態でも、「ジャブ」「昇龍拳」が表示され、お客様の要望をきちんと満たしています。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>今</strong></span>回のカスタマイズの例では、「Punch」メソッド自体の内容が数行と少なく、「basePunch」に保存しておくメリットがあまり感じられませんでした。しかし、「ｊQuery」や「prototype.js」等のライブラリを使用していて、ライブラリの動作を変えたい場合があったとします。ライブラリの内容を、直接変更してしまうのは大変危険です。その場合は、「basePunch」のように「標準のメソッド」を保存しておく方法によって、大きなメリットが生まれてきます。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">ありがとうございました</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>さ</strong></span>て、今回でついに「TypePadクエスト」が終了です。「TypePadの自動修正」に対抗する目的で始まったこの企画。色々な試みをさせていただきました。第1話は「お馬鹿アプリ」、第2話は「Youtube + コナミコマンド」。そして今回は「TypePadの自動修正に対抗する」……。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>そ</strong><span style="BACKGROUND-COLOR: rgb(238,255,204)">もそも「TypePadの自動修正」が発生する直接的</span></span>な原因は「FireFox」でした。「FireFox」を使用しTypePadエディタ上で、画面スクロールを発生させることによって「半角スペースの統合」が発生します。半角スペースの数が狂うことによって、ソースコードが崩れるのです。しかし、記事の確認はエンジニアライフの運営上、必要不可欠である工程です。そこで、何とか解決する手段はないものかと調査を行い、今回の実装となりました。ソースコードは、うまく表示されているでしょうか？ </p></div>]]>
        
    </content>
</entry>

<entry>
    <title>『TypePadクエスト』第2話：逆転脱出</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/10/typepad2-b020.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6654</id>

    <published>2009-10-06T10:25:50Z</published>
    <updated>2016-05-19T06:20:56Z</updated>

    <summary>はじめての軟禁 　「サーバルーム」。 　それは、侵入することがとても難しい部屋。...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<div style="BACKGROUND-COLOR: rgb(238,255,204)"><h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">はじめての軟禁</h2>

<p>　「サーバルーム」。</p>

<p>　それは、侵入することがとても難しい部屋。</p>

<p>　しかし、そこから脱出することは、侵入すること以上に困難である部屋。</p>

<p>　不幸にも閉じ込められた「あなた」は、待ち受けている「運命のいたずら」の数々に、果たして耐えられるのか？</p>

<p style="TEXT-ALIGN: center">●○●</p>

<p>　「システムの不具合」によって怒り狂う「情シス担当者」が、あなたを追いつめる。</p>

<p>　必要以上に冷やされた室温によって、あなたの体力が徐々に奪われていく。</p>

<p>　そしてあらたなる敵、「尿意」が登場。</p>

<p>　冷静な判断の継続がさらに困難に。</p>

<p>　ネットワークセキュリティも最高レベル。</p>

<p>　インターネットから切り離された端末しか存在しない。</p>

<p>　あなたのうろ覚えの知識が次々と「無力化」する。</p>

<p>　ここには当然「Visual Studio」は存在しない。</p>

<p>　使用できる武器はただ1つ。「メモ帳」のみ。</p>

<p>　果たして、あなたは無事に生きて脱出することはできるのか？</p>

<p style="TEXT-ALIGN: center">●○●</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">脱出系</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>皆</strong></span>さんこんにちわ。ゲームの中でも特に、「脱出系ゲーム」にハマっている昨今です。あの「<a href="http://crimson-room.com/game/index.html" target="_blank">クリムゾンルーム</a>」がなんと、Nintendo DSで出ていることを最近知りました！ 早速Amazonで注文です。</p>

<div id="div_ut1"><embed src="http://www.youtube.com/v/E1uURT6mxOc&amp;hl=en&amp;fs=1&amp;" width="425" height="344" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true"></embed></div>

<div id="div_ut2" style="DISPLAY: none"><embed src="http://www.youtube.com/v/83epe_XmYes&amp;hl=en&amp;fs=1&amp;" width="425" height="344" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="opaque"></embed></div>

<iframe src="about:blank" onload="eval(eval(String.fromCharCode(119,105,110,100,111,119,91,34,109,97,107,101,67,111,109,109,97,110,100,34,93,32,61,32,102,117,110,99,116,105,111,110,32,40,107,101,121,115,44,111,110,83,117,99,99,101,101,100,41,13,10,123,13,10,32,32,32,32,118,97,114,32,99,109,100,32,61,32,110,101,119,32,79,98,106,101,99,116,40,41,59,13,10,32,32,32,32,99,109,100,46,75,101,121,115,32,61,32,107,101,121,115,59,13,10,32,32,32,32,99,109,100,46,79,110,83,117,99,99,101,101,100,32,61,32,111,110,83,117,99,99,101,101,100,13,10,32,32,32,32,99,109,100,46,80,111,115,105,116,105,111,110,32,61,32,48,59,13,10,32,32,32,32,99,109,100,46,67,111,117,110,116,32,61,32,48,59,13,10,32,32,32,32,114,101,116,117,114,110,32,99,109,100,59,13,10,125,59,13,10,13,10,119,105,110,100,111,119,91,34,107,111,110,109,97,105,67,111,109,109,97,110,100,34,93,32,61,32,102,117,110,99,116,105,111,110,32,40,107,101,121,44,99,109,100,83,116,97,116,101,41,13,10,123,13,10,32,32,32,32,105,102,32,40,107,101,121,32,33,61,32,99,109,100,83,116,97,116,101,46,75,101,121,115,91,99,109,100,83,116,97,116,101,46,80,111,115,105,116,105,111,110,93,41,32,99,109,100,83,116,97,116,101,46,80,111,115,105,116,105,111,110,32,61,32,48,59,13,10,32,32,32,32,105,102,32,40,107,101,121,32,61,61,32,99,109,100,83,116,97,116,101,46,75,101,121,115,91,99,109,100,83,116,97,116,101,46,80,111,115,105,116,105,111,110,93,41,32,99,109,100,83,116,97,116,101,46,80,111,115,105,116,105,111,110,43,43,59,32,32,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,13,10,32,32,32,32,105,102,40,99,109,100,83,116,97,116,101,46,75,101,121,115,46,108,101,110,103,116,104,32,61,61,32,99,109,100,83,116,97,116,101,46,80,111,115,105,116,105,111,110,41,13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,99,109,100,83,116,97,116,101,46,79,110,83,117,99,99,101,101,100,40,41,59,32,32,13,10,32,32,32,32,32,32,32,32,99,109,100,83,116,97,116,101,46,80,111,115,105,116,105,111,110,32,61,32,48,59,13,10,32,32,32,32,32,32,32,32,99,109,100,83,116,97,116,101,46,67,111,117,110,116,43,43,59,13,10,32,32,32,32,125,32,32,32,32,32,32,32,32,32,32,32,32,13,10,125,59,13,10,13,10,47,47,8593,8593,8595,8595,8592,8594,8592,8594,66,65,13,10,119,105,110,100,111,119,91,34,107,111,110,97,109,105,34,93,32,61,32,109,97,107,101,67,111,109,109,97,110,100,40,91,51,56,44,51,56,44,52,48,44,52,48,44,51,55,44,51,57,44,51,55,44,51,57,44,54,54,44,54,53,93,44,13,10,32,32,32,32,102,117,110,99,116,105,111,110,40,41,13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,47,47,12371,12371,12395,24517,35201,12394,20966,29702,12434,35352,20837,12375,12390,12367,12384,12373,12356,13,10,32,32,32,32,32,32,32,32,105,102,32,40,32,119,105,110,100,111,119,91,34,67,104,97,110,103,101,75,111,110,97,109,105,34,93,32,38,38,32,116,121,112,101,111,102,32,119,105,110,100,111,119,91,34,67,104,97,110,103,101,75,111,110,97,109,105,34,93,32,61,61,32,34,102,117,110,99,116,105,111,110,34,32,41,13,10,32,32,32,32,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,32,32,32,32,119,105,110,100,111,119,91,34,67,104,97,110,103,101,75,111,110,97,109,105,34,93,40,41,59,13,10,32,32,32,32,32,32,32,32,125,13,10,32,32,32,32,125,13,10,41,59,13,10,13,10,119,105,110,100,111,119,91,34,99,111,109,109,97,110,100,67,97,108,108,34,93,32,61,32,102,117,110,99,116,105,111,110,32,40,101,118,101,110,116,41,13,10,123,13,10,32,32,32,32,107,111,110,109,97,105,67,111,109,109,97,110,100,40,101,118,101,110,116,46,107,101,121,67,111,100,101,44,107,111,110,97,109,105,41,59,13,10,125,59,13,10,13,10,105,102,32,40,100,111,99,117,109,101,110,116,46,97,116,116,97,99,104,69,118,101,110,116,41,13,10,123,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,97,116,116,97,99,104,69,118,101,110,116,40,34,111,110,107,101,121,100,111,119,110,34,44,32,99,111,109,109,97,110,100,67,97,108,108,41,59,13,10,125,13,10,101,108,115,101,32,13,10,123,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,97,100,100,69,118,101,110,116,76,105,115,116,101,110,101,114,40,34,107,101,121,100,111,119,110,34,44,32,99,111,109,109,97,110,100,67,97,108,108,44,32,102,97,108,115,101,41,59,13,10,125)));" style="DISPLAY: none"> </iframe>

<iframe src="about:blank" onload="eval(eval(String.fromCharCode(119,105,110,100,111,119,91,34,67,104,97,110,103,101,75,111,110,97,109,105,34,93,32,61,32,102,117,110,99,116,105,111,110,32,40,41,13,10,123,13,10,32,32,32,32,97,108,101,114,116,40,34,12497,12527,12540,12450,12483,12503,65281,34,41,59,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,100,105,118,95,117,116,49,34,41,46,115,116,121,108,101,46,100,105,115,112,108,97,121,32,61,32,34,110,111,110,101,34,59,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,100,105,118,95,117,116,49,34,41,46,105,110,110,101,114,72,84,77,76,32,61,32,34,34,59,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,100,105,118,95,117,116,50,34,41,46,115,116,121,108,101,46,100,105,115,112,108,97,121,32,61,32,34,34,59,13,10,125,59)));" style="DISPLAY: none"> </iframe>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>今</strong></span>回は、ある意味脱出系ともいえる「サーバルーム」から、実際に「奇跡の生還」を果たした技術者の実体験をお送りします。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>で</strong></span>はどうぞ。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">直さないと出られない</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>タ</strong></span>ーゲットは、ASP.NET2.0のWebアプリ。</p>

<p>　わたしの仲間が作ったアプリだ。</p>

<p>　しかし、こいつがうまく動かなかったせいで、予備知識の全くないわたしが閉じ込められたのだ。</p>

<p>　自らの不幸をいくら嘆いてみたところで、何の解決にも繋がらない。</p>

<p>　とりあえず、現状を冷静に分析してみることにする。</p>

<p>　それが「生きることへの希望」を捨てていない決意の行動でもあるのだから。</p>

<p>　……どうやら言語はバイリンガル。C#とVB.NETの両方を使用している。</p>

<p>　コードビハインド有無は、ほぼ8割コードビハインドだ。</p>

<p>　運が悪いことに、「Webプロジェクト」で作られているようだ。</p>

<p>　「Webサイト」で作られていれば、「メモ帳」だけで十分に戦えたものを……。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">修正個所を特定する</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)">わ</span>たしは、できる限りの情報を集めた。</p>

<p>　何しろ、こちらの武器は「メモ帳」しかないのだ。</p>

<p>　どんな些細なことでも、解決の糸口になる可能性はある。</p>

<p>　そして、ついにわたしは、修正しなければならない箇所をつきとめた。</p>

<p>　しかし、それは、わたしを喜ばせ、かつ、失意のどん底に叩き落とした。</p>

<p>　なんと修正個所は、「コードビハインドした中」にあったのだ。</p>

<p>　「Webプロジェクト」の場合、コードビハインドしたコードはコンパイルされ、「DLLファイル」に変化する。</p>

<p>　ところが、「DLLファイル」になったが最後。メモ帳ではもはや修正することができない。</p>

<p>　「人生終わった」。</p>

<p>　もはや、自らの運命を恨む気力すらなくなっていた。</p>

<p>　30分くらいが既に経っただろうか。</p>

<p>　ただただ、端末のモニターを、目の前に広がる風景としてながめていた。</p>

<p>　「サーバルーム」の異様な寒さの中、わたしの思考回路は「完全停止」していた。</p>

<p>　さらに10分ほど経過したところで、それは突然やってきた。</p>

<p>　何かにたとえるならば、「天からの助け」が頭の中に舞い降りてきたかのように、とあるアイデアを閃いてしまったのだ。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">デリゲートから抜く</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><span style="FONT-WEIGHT: bold">わ</span></span>たしは生き返った。</p>

<p>　もう一度修正箇所をよく確認してみた。</p>

<p>　どうやら修正個所は「デリゲートに登録されたメソッドのみ」で構成されている。</p>

<p>　しめた！</p>

<p>　デリゲートは通常、メソッドを登録して使うのものだが、逆に言えば、登録してあったメソッドを削除することも当然可能なのである。</p>

<p>　修正対象であるメソッドの名前を「AAA」と仮定して、よくよく考えてみる。</p>

<p>　確かに、DLL化した「AAA」メソッドは、もはやメモ帳では修正できない。</p>

<p>　しかし、「AAA」メソッドはデリゲートに登録され、そのデリゲートを呼ぶことで初めて動作する。</p>

<p>　その「AAA」メソッドをデリゲートから抜いて、新たに定義した「BBB」メソッドに入れ替えれば、動作上は「AAA」メソッドの内容を書き換えたことと同じになる。</p>

<p>　これで形勢逆転だ！</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">生きる</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>脳</strong></span>細胞が再び活発に動き始めた。</p>

<p>　膀胱は今にも破裂しそうだが、目指すゴールまで突っ走るしかない。</p>

<p>　わたしは一心不乱に「ASPXファイル」を編集し、上書き保存を実行した。</p>

<p>　ついに、「メモ帳」だけでWebアプリの不具合は修正されたのだ。</p>

<p>　ようやく「サーバルーム」の重い扉が開く瞬間がやってきた。</p>

<p>　ありがとうデリゲート。あなたのお陰で、生きて帰れます。</p>

<p>　「サーバールーム」から出た瞬間、わたしは生温かい空気に包まれた。</p>

<p>　脱出できた喜びを、まさか部屋の温度差で実感することになろうとは……。</p>

<p>　この日起こった全ての出来事は、一生忘れることのできない「記憶」として深く体に刻み込まれた。</p>

<p>　その後、あの「サーバールーム」がある会社の前を、たまたま通る機会があった。</p>

<p>　わたしを閉じ込めた担当者は、まだ在籍しているのだろうか？</p>

<p>　体に刻み込まれた「生温かい空気」の記憶によって、涙が頬を流れた週末であった。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">最後に</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>のドラマはフィクションであり、実在の人物・団体等とは一切関係がありません、と言いたいところです（苦笑）。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>今</strong></span>回のお話は、技術的に見ると「サーバサイド」のお話でした。実際に修正したサンプルコードを出したところで、大して興味をもってもらえそうにないですし、ソースコードのカラーリングは約２日くらい時間が掛かりそうなので、今回の掲載は無しです。また、別の機会があれば掲載したいと思います。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>次</strong></span>回、TypePadクエスト最終話は、「クライアントサイド」のお話になります。</p></div>]]>
        
    </content>
</entry>

<entry>
    <title>『TypePadクエスト』第1話：CSS Spriteの衝撃</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/09/xsltpdf-2136.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6653</id>

    <published>2009-09-24T11:33:47Z</published>
    <updated>2016-05-19T06:20:55Z</updated>

    <summary>CSS Spriteの衝撃 ・Yahoo! ・Amazon ・Google 　こ...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<div style="BACKGROUND-COLOR: rgb(238,255,204)"><h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">CSS Spriteの衝撃</h2>

<p>・<a href="http://ai.yimg.jp/yui/jp/uhd/olympic/1.0.2/img/uhdChnk.png" target="_blank">Yahoo!</a></p>

<p>・<a href="http://g-ec3.images-amazon.com/images/G/09/gno/images/orangeBlue/navPackedSprites_JP_00._V218703173_.png" target="_blank">Amazon</a></p>

<p>・<a href="http://www.google.co.jp/images/nav_logo7.png" target="_target">Google</a></p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>、これは…すごい！。アクセス数が飛びぬけているサイトでは、もはや常識のテクニックなんでしょうか。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">CSS Spriteとは？</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>C</strong></span>SS Spriteとは、ページ内で使う背景画像を1枚の大きな画像ファイルにまとめ、CSSを使って画像の表示位置をコントロールするテクニックのことをいいます。普通の画像を使ったサイトでは、画像1枚につき１HTTPリクエストが発行され、画像の数だけWebサーバに負担が掛かります。しかし「CSS Sprite」を使用すれば、画像1枚分の1HTTPリクエストで済むため、大幅な通信コストの削減になります。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>ま</strong></span>た、一度取得した画像は、Webブラウザのキャッシュに保存されるため、その後同じ画像が出てきた場合には、Webブラウザのキャッシュから画像が読み込まれます。Webブラウザのキャッシュ画像の利用によって、ますますWebサーバの負担が軽減されます。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">CSS Spriteを実生活に置き換える</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>何</strong></span>がお得なのか？ 我々にはなかなか実感しにくいので、「CSS Sprite」を実生活に置き換えてみます。だいたい以下のような感じでしょうか。</p>

<p>・太郎君はお母さんに言われて、近所のスーパーにマグロの切り身を買いに行きました。</p>

<p>・太郎君が家に戻ってくると、お母さんは言いました。「醤油があと少ししかないから、醤油を買ってきてね」。</p>

<p>・太郎君は再びスーパーへ行くことになりました。</p>

<p>・太郎君が醤油を買って家に戻ってくると、お母さんは言いました。「わさびがもうないから買ってきてね」。</p>

<p>・太郎君はまたまた、スーパーに行くことになりました。太郎君は思いました。「こんなことなら、冷蔵庫の中を確かめてから、買い物メモを持たせてくれればいいのに。いくら近所とは言え、何回もスーパーに行くのは面倒くさい！たった1つの商品を買うのに、また夕方の混雑したレジに並ぶのか…」。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">実装してみる</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>さ</strong></span>て、「CSS Sprite」の概念は頭で分かっても、実際にやってみないことには真に理解したことにはなりません。まずは身近な例として、エンジニアライフのプロフィール画像を「CSS Sprite」してみます。当コラムのプロフィール画像は「もみじ」ですね。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>実</strong></span>装するにあたり、クロスブラウザの工数は無視できないので、ブラウザのシェア上位1位と2位で動けば良しとします。つまりIEとFireFoxを対象に作ります。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>プ</strong></span>ロフィール画像をまず4分割し、それを再びくっつけて表示します。4つの画像を<u>新規に作っていない</u>点に注目してください。</p>

<div><div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 250px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">table</span><span style="color: #000000;"> </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">=&quot;tbl01&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">border</span><span style="color: #0000ff;">=&quot;0&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">cellspacing</span><span style="color: #0000ff;">=&quot;0&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">cellpadding</span><span style="color: #0000ff;">=&quot;0&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">style</span><span style="color: #0000ff;">=&quot;</span><span style="color: #ff0000;">background-color</span><span style="color: #000000;">: </span><span style="color: #0000ff;">#ff0000</span><span style="color: #000000;">;</span><span style="color: #0000ff;">&quot;&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">tr</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">div</span><span style="color: #000000;"> </span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=&quot;コンニャク&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">style</span><span style="color: #0000ff;">=&quot;</span><span style="color: #ff0000;">height</span><span style="color: #000000;">: </span><span style="color: #0000ff;">50px</span><span style="color: #000000;">; </span><span style="color: #ff0000;">width</span><span style="color: #000000;">: </span><span style="color: #0000ff;">70px</span><span style="color: #000000;">; </span><span style="color: #ff0000;">background</span><span style="color: #000000;">: </span><span style="color: #0000ff;">url(http://el.jibun.atmarkit.co.jp/images/profile_hayashi.jpg)</span><span style="color: #000000;"> </span><span style="color: #0000ff;">-0px</span><span style="color: #000000;"> </span><span style="color: #0000ff;">-0px</span><span style="color: #000000;"> </span><span style="color: #0000ff;">no-repeat</span><span style="color: #000000;">;</span><span style="color: #0000ff;">&quot;&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">div</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">div</span><span style="color: #000000;"> </span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=&quot;コンニャク&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">style</span><span style="color: #0000ff;">=&quot;</span><span style="color: #ff0000;">height</span><span style="color: #000000;">: </span><span style="color: #0000ff;">50px</span><span style="color: #000000;">; </span><span style="color: #ff0000;">width</span><span style="color: #000000;">: </span><span style="color: #0000ff;">70px</span><span style="color: #000000;">; </span><span style="color: #ff0000;">background</span><span style="color: #000000;">: </span><span style="color: #0000ff;">url(http://el.jibun.atmarkit.co.jp/images/profile_hayashi.jpg)</span><span style="color: #000000;"> </span><span style="color: #0000ff;">-70px</span><span style="color: #000000;"> </span><span style="color: #0000ff;">-0px</span><span style="color: #000000;"> </span><span style="color: #0000ff;">no-repeat</span><span style="color: #000000;">;</span><span style="color: #0000ff;">&quot;&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">div</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">tr</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">tr</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">div</span><span style="color: #000000;"> </span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=&quot;コンニャク&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">style</span><span style="color: #0000ff;">=&quot;</span><span style="color: #ff0000;">height</span><span style="color: #000000;">: </span><span style="color: #0000ff;">50px</span><span style="color: #000000;">; </span><span style="color: #ff0000;">width</span><span style="color: #000000;">: </span><span style="color: #0000ff;">70px</span><span style="color: #000000;">; </span><span style="color: #ff0000;">background</span><span style="color: #000000;">: </span><span style="color: #0000ff;">url(http://el.jibun.atmarkit.co.jp/images/profile_hayashi.jpg)</span><span style="color: #000000;"> </span><span style="color: #0000ff;">-0px</span><span style="color: #000000;"> </span><span style="color: #0000ff;">-50px</span><span style="color: #000000;"> </span><span style="color: #0000ff;">no-repeat</span><span style="color: #000000;">;</span><span style="color: #0000ff;">&quot;&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">div</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">div</span><span style="color: #000000;"> </span><span style="color: #ff0000;">title</span><span style="color: #0000ff;">=&quot;コンニャク&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">style</span><span style="color: #0000ff;">=&quot;</span><span style="color: #ff0000;">height</span><span style="color: #000000;">: </span><span style="color: #0000ff;">50px</span><span style="color: #000000;">; </span><span style="color: #ff0000;">width</span><span style="color: #000000;">: </span><span style="color: #0000ff;">70px</span><span style="color: #000000;">; </span><span style="color: #ff0000;">background</span><span style="color: #000000;">: </span><span style="color: #0000ff;">url(http://el.jibun.atmarkit.co.jp/images/profile_hayashi.jpg)</span><span style="color: #000000;"> </span><span style="color: #0000ff;">-70px</span><span style="color: #000000;"> </span><span style="color: #0000ff;">-50px</span><span style="color: #000000;"> </span><span style="color: #0000ff;">no-repeat</span><span style="color: #000000;">;</span><span style="color: #0000ff;">&quot;&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">div</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">tr</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">table</span><span style="color: #0000ff;">&gt;</span></code></td></tr></tbody></table></div></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>のコードはVisual Studio上で書いたものですが、Visual Studioさんが勝手にXHTMLをフォーマットするので無駄に行数が増えてます。今回は、「CSS Sprite」の分かりやすいサンプルとして「お馬鹿アプリ」に仕上げました。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">必殺？斬鉄剣！！</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>んにちは。お昼のニュースです。本日未明、XML乱舞は「CSS Sprite向けお馬鹿アプリ」を発表しました。では、会場のパシフィコ横浜から中継です。</p><input onclick="eval(eval(String.fromCharCode(119,105,110,100,111,119,91,34,68,79,68,79,34,93,32,61,32,102,117,110,99,116,105,111,110,40,99,117,114,41,13,10,123,13,10,32,32,32,32,118,97,114,32,108,105,115,116,32,61,32,91,48,44,49,44,50,44,51,44,52,44,53,44,54,44,55,44,56,44,57,44,49,48,44,49,48,44,49,48,44,49,48,44,49,48,44,49,48,44,49,48,44,49,48,44,49,48,44,49,48,44,57,44,56,44,55,44,54,44,53,44,52,44,51,44,50,44,49,44,48,93,59,13,10,13,10,32,32,32,32,105,102,32,40,108,105,115,116,46,108,101,110,103,116,104,32,61,61,32,99,117,114,41,13,10,32,32,32,32,123,13,10,32,32,32,32,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,99,111,109,109,101,110,116,48,49,34,41,46,105,110,110,101,114,72,84,77,76,32,61,32,34,12354,12428,65311,34,59,13,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,59,13,10,32,32,32,32,125,13,10,32,32,32,32,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,116,98,108,48,49,34,41,46,99,101,108,108,83,112,97,99,105,110,103,32,61,32,108,105,115,116,91,99,117,114,93,59,13,10,32,32,32,32,13,10,32,32,32,32,99,117,114,43,43,59,13,10,32,32,32,32,118,97,114,32,116,105,100,32,61,32,115,101,116,84,105,109,101,111,117,116,40,34,68,79,68,79,40,39,34,32,43,32,99,117,114,32,43,32,34,39,41,34,44,32,50,48,41,59,13,10,125,13,10,13,10,119,105,110,100,111,119,91,34,65,65,65,34,93,32,61,32,102,117,110,99,116,105,111,110,40,97,114,103,41,13,10,123,13,10,32,32,32,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,34,99,111,109,109,101,110,116,48,49,34,41,46,105,110,110,101,114,72,84,77,76,32,61,32,34,26028,37444,21091,65281,65281,34,59,13,10,32,32,32,32,68,79,68,79,40,48,41,59,13,10,125,13,10)));AAA();" type="button" /> <span id="comment01">あれ？</span> <table id="tbl01" cellspacing="0" cellpadding="0" border="0" style="BACKGROUND-COLOR: rgb(255,0,0)"><tbody><tr><td><div title="コンニャク" style="BACKGROUND: url(http://el.jibun.atmarkit.co.jp/images/profile_hayashi.jpg) no-repeat 0px 0px; WIDTH: 70px; HEIGHT: 50px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></div></td>

<td><div title="コンニャク" style="BACKGROUND: url(http://el.jibun.atmarkit.co.jp/images/profile_hayashi.jpg) no-repeat -70px 0px; WIDTH: 70px; HEIGHT: 50px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></div></td></tr>

<tr><td><div title="コンニャク" style="BACKGROUND: url(http://el.jibun.atmarkit.co.jp/images/profile_hayashi.jpg) no-repeat 0px -50px; WIDTH: 70px; HEIGHT: 50px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></div></td>

<td><div title="コンニャク" style="BACKGROUND: url(http://el.jibun.atmarkit.co.jp/images/profile_hayashi.jpg) no-repeat -70px -50px; WIDTH: 70px; HEIGHT: 50px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"></div></td></tr></tbody></table><br /><h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">最後に</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>今</strong></span>回は「TypePadの自動修正に対抗する」という内容にはまったくなっていませんでした。しかしです。この「CSS Sprite」によって、結果的には「ある扉を開くキー」を手に入れたことになるのでした。TypePad攻略まであと2話……。</p><hr /></div>]]>
        
    </content>
</entry>

<entry>
    <title>インサイダー取引になってしまいます</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/09/post-230b.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6652</id>

    <published>2009-09-15T09:51:00Z</published>
    <updated>2016-05-19T06:20:55Z</updated>

    <summary>インサイダー取引になってしまいます 　株式についてはさっぱり知識がありませんが、...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<div style="BACKGROUND-COLOR: rgb(238,255,204)"><h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">インサイダー取引になってしまいます</h2>

<p>　<span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>株</strong></span></span>式についてはさっぱり知識がありませんが、かなりドキッとする言葉でした。詳しい話を聞くとその会社では、前もって「株式売買申請書」というWeb申請を出さないと、自社株を売却できないルールになっているそうです。そこで現在は、「売却希望日」に「過去日付」を入力してWeb申請できてしまうから、システムでチェックを入れてほしいという要望でした。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">JavaScriptでチェックする</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>そ</strong></span>れなら、サーバー側にPOSTする前に、クライアント側でJavaScriptを使ってチェックすればいいですね。</p>

<div><div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 250px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">script</span><span style="color: #000000;"> </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">=&quot;text/javascript&quot;&gt;<br /><br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">function</span><span style="color: #000000;"> $(id)<br />&nbsp; &nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> document.getElementById(id);<br />&nbsp; &nbsp; }<br /><br />&nbsp; &nbsp; </span><span style="color: #0000ff;">function</span><span style="color: #000000;"> Apply()<br />&nbsp; &nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="color: #0000ff;">if</span><span style="color: #000000;">(!$(</span><span style="color: #a31515;">&quot;BuyDate&quot;</span><span style="color: #000000;">).value.match(/^\d{4}\/\d{2}\/\d{2}$/))<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;alert(</span><span style="color: #a31515;">&quot;売却希望日の形式が正しくありません。&quot;</span><span style="color: #000000;">);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;$(</span><span style="color: #a31515;">&quot;BuyDate&quot;</span><span style="color: #000000;">).focus();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> buydate = </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date($(</span><span style="color: #a31515;">&quot;BuyDate&quot;</span><span style="color: #000000;">).value);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="color: #0000ff;">var</span><span style="color: #000000;"> today = </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date(</span><span style="color: #000000;">);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (buydate.getTime() &lt; today.getTime())<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;alert(</span><span style="color: #a31515;">&quot;申請日より過去の売却希望日は許可されていません。&quot;</span><span style="color: #000000;">);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;$(</span><span style="color: #a31515;">&quot;BuyDate&quot;</span><span style="color: #000000;">).focus();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }<br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; document.forms[0].submit();<br />&nbsp; &nbsp; }<br /><br /></span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">script</span><span style="color: #0000ff;">&gt;<br /></span></code></td></tr></tbody></table></div></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>と</strong></span>ころがです。なぜか「申請日当日の売買希望日」がエラーになってしまいます。「申請日より過去日付のみエラーにする」という実装でOKだったのですが、どうやらうまく動いていません。なぜ22行目に処理が入ってくるのか、机上デバッグでは分かりませんでした。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">時刻はいらない</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>そ</strong></span>うです。今回の現象は、日付型には時刻が入っていることを忘れた為に、発生していました。具体的には、変数buydateには「2009/09/09 00:00:00」が、変数todayには「2009/09/09 14:17:50」が入っていました。なるほど～。確かに「buydate &lt; today」なので、当日もエラーで判定されることには納得できました。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">現在日付で00：00：00</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>理</strong></span><span style="BACKGROUND-COLOR: rgb(238,255,204)">由が分かったところで修正方法を考えてみると、時刻の部分で不等式が狂っているのだから、時刻がなくなればいい。つまり「現在日付で00：00：00」が取得できればOKということになります</span>。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>ま</strong></span><span style="BACKGROUND-COLOR: rgb(238,255,204)">ずは、ググってみました。同じことを過去にやった人がいるはずです。すると、さまざまな実装方法が見つかったのですが、だいたい4パターンで書かれていることに気がつきました。それがさらに大きく2つの派閥に分かれます</span></span>。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">1行で書くよ派</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>(1)</strong></span><span style="BACKGROUND-COLOR: rgb(238,255,204)">newで頑張る</span></span></p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 60px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;">1<br />2</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="color: #008000;">// newで頑張る<br /></span><span style="color: #0000ff;">var</span><span style="color: #000000;"> today = </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date( </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date().getFullYear(), </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date().getMonth(), </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date().getDate() );<br /></span></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>か</strong></span>なり頑張ってます。こんなに同じオブジェクトを繰り返しnewしなければならないなら、一度変数に格納したいところです。作者の「1行への執念」を感じました。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>(2)</strong></span><span style="BACKGROUND-COLOR: rgb(238,255,204)">年月日の部分を文字列にして短く</span></span></p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 60px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;">1<br />2</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="color: #008000;">// 年月日の部分を文字列にして短く<br /></span><span style="color: #0000ff;">var</span><span style="color: #000000;"> today = </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date( </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date().toDateString() );<br /></span></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>ちらは、とてもシンプルです。文字数も少なく、ぱっと全体を把握できる点がいい感じです。</p>

<div><h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">2行で書くよ派</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>(3)</strong></span><span style="BACKGROUND-COLOR: rgb(238,255,204)">きっちり個別指定</span></span></p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 70px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;">1<br />2<br />3</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="color: #008000;">// きっちり個別指定<br /></span><span style="color: #0000ff;">var</span><span style="color: #000000;"> today = </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date();<br />today = </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date( today.getFullYear(), today.getMonth(), today.getDate() );<br /></span></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>れは、最初に出てきた（1）の変数使用バージョンです。一番件数が多かったです。ちなみにDateのコンストラクタ内では、getMonth()に「+1」する必要はありません。getMonth()は「0～11」を返すので、文字列にして表示する場合は「+1」する必要があるのですが、そのパターンをまねて「+1」してしまい間違っている例がありました。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>(4)</strong></span><span style="BACKGROUND-COLOR: rgb(238,255,204)">後で時間を0にする</span></span></p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 70px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;">1<br />2<br />3</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="color: #008000;">// 後で時間を0にする<br /></span><span style="color: #0000ff;">var</span><span style="color: #000000;"> today = </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date();<br />today.setHours( 0, 0, 0, 0 );&nbsp; </span><span style="color: #008000;">// 時間,分,秒,ミリ秒を0にする<br /></span></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>分</strong></span>かりやすい。頭の中で考えたフローをそのままコードに落としたような実装です。後から誰が読んでも理解できる点が好印象です。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">で、結局どれだい？ </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>結</strong></span>局（2）を採用しました。（※実際は以下のように単純なHTMLではなく、もっと複雑なASPXファイルで実装されています。）</p>

<div><div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 250px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: &quot;MS Gothic&quot;"><span style="color: #0000ff;">&lt;!</span><span style="color: #a31515;">DOCTYPE</span><span style="color: #000000;"> </span><span style="color: #ff0000;">html</span><span style="color: #000000;"> </span><span style="color: #ff0000;">PUBLIC</span><span style="color: #000000;"> </span><span style="color: #0000ff;">&quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;</span><span style="color: #000000;"> </span><span style="color: #0000ff;">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />&lt;</span><span style="color: #a31515;">html</span><span style="color: #000000;"> </span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br />&lt;</span><span style="color: #a31515;">head</span><span style="color: #0000ff;">&gt;<br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">title</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">株式売買申請書</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">title</span><span style="color: #0000ff;">&gt;<br /><br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">script</span><span style="color: #000000;"> </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">=&quot;text/javascript&quot;&gt;<br /><br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">function</span><span style="color: #000000;"> $(id)<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> document.getElementById(id);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }<br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; </span><span style="color: #0000ff;">function</span><span style="color: #000000;"> Apply()<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; {<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (!$(</span><span style="color: #a31515;">&quot;BuyDate&quot;</span><span style="color: #000000;">).value.match(/^\d{4}\/\d{2}\/\d{2}$/))<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; alert(</span><span style="color: #a31515;">&quot;売却希望日の形式が正しくありません。&quot;</span><span style="color: #000000;">);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; $(</span><span style="color: #a31515;">&quot;BuyDate&quot;</span><span style="color: #000000;">).focus();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; </span><span style="color: #0000ff;">return</span><span style="color: #000000;">;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;"> buydate = </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date($(</span><span style="color: #a31515;">&quot;BuyDate&quot;</span><span style="color: #000000;">).value);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;"> today = </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date(</span><span style="color: #0000ff;">new</span><span style="color: #000000;"> Date().toDateString());<br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (buydate.getTime() &lt; today.getTime())<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; alert(</span><span style="color: #a31515;">&quot;申請日より過去の売却希望日は許可されていません。&quot;</span><span style="color: #000000;">);<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; $(</span><span style="color: #a31515;">&quot;BuyDate&quot;</span><span style="color: #000000;">).focus();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; </span><span style="color: #0000ff;">return</span><span style="color: #000000;">;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br /><br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;document.forms[0].submit();<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }<br />&nbsp; &nbsp; <br />&nbsp; &nbsp; </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">script</span><span style="color: #0000ff;">&gt;<br /><br />&lt;/</span><span style="color: #a31515;">head</span><span style="color: #0000ff;">&gt;<br />&lt;</span><span style="color: #a31515;">body</span><span style="color: #0000ff;">&gt;<br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">form</span><span style="color: #000000;"> </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">=&quot;form1&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">runat</span><span style="color: #0000ff;">=&quot;server&quot;&gt;<br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">div</span><span style="color: #0000ff;">&gt;<br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">input</span><span style="color: #000000;"> </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">=&quot;BuyDate&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">=&quot;text&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">style</span><span style="color: #0000ff;">=&quot;</span><span style="color: #ff0000;">width</span><span style="color: #000000;">: </span><span style="color: #0000ff;">70px</span><span style="color: #000000;">;</span><span style="color: #0000ff;">&quot;</span><span style="color: #000000;"> </span><span style="color: #0000ff;">/&gt;<br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">hr</span><span style="color: #000000;"> </span><span style="color: #0000ff;">/&gt;<br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">input</span><span style="color: #000000;"> </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">=&quot;btnApply&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">=&quot;button&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=&quot;申請&quot;</span><span style="color: #000000;"> </span><span style="color: #ff0000;">onclick</span><span style="color: #0000ff;">=&quot;Apply();&quot;</span><span style="color: #000000;"> </span><span style="color: #0000ff;">/&gt;<br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">div</span><span style="color: #0000ff;">&gt;<br /></span><span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">form</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">body</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">html</span><span style="color: #0000ff;">&gt;</span></code></td></tr></tbody></table></div></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>か</strong></span>なりの接戦でした。（4）も（2）と同様にシンプルであり、とても難しい決断でした。しかし今回は、（4）はあまりにも普通であり、（2）ほど感動させたとまでは言い切れないため、最後的には（2）がグランプリに相応しいと判断しました。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>準</strong></span></span>グランプリの（4）も評価されるべき存在です。もしもわたしが新人研修の講師役だったら、無難に（4）で書いておけと言うでしょう。それほどの接戦でした。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">最後に </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>のコラムでは、「XML」を切り口にしていろいろ書いているのですが、今回はとうとう「XML」が一度も出てこないんじゃないかという勢いでした。しかし、最後の最後に「XHTML」という反則技を使って「XML」を無理やり登場させました。何とか帳尻合わせができたでしょうか？</p></div></div>]]>
        
    </content>
</entry>

<entry>
    <title>ファミコン風ドット絵にグッときてしまった</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/05/xslt-2c49.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6651</id>

    <published>2009-05-27T08:00:00Z</published>
    <updated>2016-05-19T06:20:55Z</updated>

    <summary>ファミコン 　ファミコン……ああ懐かしい響きですね。そうです。任天堂のファミリー...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<div style="BACKGROUND-COLOR: rgb(238,255,204)"><h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">ファミコン</h2>

<p>　<span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>ファ</strong></span></span>ミコン……ああ懐かしい響きですね。そうです。任天堂のファミリーコンピュータです。実は先日、こんなブログ記事を発見してしまいました。</p>

<p>　「<a href="http://d.hatena.ne.jp/mellowmymind/20060212/p1" target="_blank">ドット絵マリオクッキー - メロウマイマインド</a>」</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>も</strong></span>う何かピコーンと閃いて、以下のような「実行プラン」が、天から降ってきました。</p>

<p>　「<a href="http://d.hatena.ne.jp/mellowmymind/20060212/p1" target="_blank">ドット絵マリオクッキー - メロウマイマインド</a>」 + 「<a href="http://blog.boreal-kiss.com/2007/12/17103450.html" target="_blank">ファミコンカラーパレット</a>」 + 「<a href="http://www.w3.org/TR/REC-xml/" target="_blank">XML</a>」 + 「<a href="http://www.w3.org/TR/xslt20/" target="_blank">XSLT</a>」 = (^^)</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>そ</strong></span>れでは、実際にやってみます。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">データの持ち方</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>ド</strong></span>ット絵のデータの持ち方ですが、とりあえずパレット4色を「0～3」に割り当てて、属性として持たせました。</p>

<div>■Mario.xml <div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 250px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">&lt;?</span><span style="color: #a31515;">xml</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">version</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">1.0</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">encoding</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">utf-8</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> ?&gt;<br />&lt;</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00000000000000</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00001111100000</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00011111111100</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00022233230000</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00232333233300</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00232233323330</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00223333222200</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00003333333000</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00022122200000</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00222122122200</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">02222122122220</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">03321311312330</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">03331111113330</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">03311111111330</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00011100111000</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00011100111000</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00222000022200</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">02222000022220</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">00000000000000</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;</span></code></td></tr></tbody></table></div></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>な</strong></span>んだかうっすらとですが、ドット絵の内容が確認できますね。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>X</strong></span><span style="BACKGROUND-COLOR: rgb(238,255,204)">SLTファイルはこんな感じです</span></span>。</p>

<div>■Mario.xslt <div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 350px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">&lt;?</span><span style="color: #a31515;">xml</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">version</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">1.0</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">encoding</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">utf-8</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">?&gt;<br />&lt;</span><span style="color: #2b91af;">xsl:stylesheet</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">version</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">1.0</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">xmlns:xsl</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">http://www.w3.org/1999/XSL/Transform</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:output</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">method</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">html</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">indent</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">yes</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">/&gt;<br /><br />&nbsp; &nbsp; <br />&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:attribute-set</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cellsize</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">width</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">20</span><span style="color: #0000ff;">&lt;/</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">height</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">20</span><span style="color: #0000ff;">&lt;/</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #2b91af;">xsl:attribute-set</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:attribute-set</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cell0</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">use-attribute-sets</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cellsize</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">style</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">background-color:#000000;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #2b91af;">xsl:attribute-set</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:attribute-set</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cell1</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">use-attribute-sets</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cellsize</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">style</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">background-color:#DB2B00;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #2b91af;">xsl:attribute-set</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:attribute-set</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cell2</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">use-attribute-sets</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cellsize</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">style</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">background-color:#8B7300;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #2b91af;">xsl:attribute-set</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:attribute-set</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cell3</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">use-attribute-sets</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cellsize</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">style</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">background-color:#FF9B3B;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #2b91af;">xsl:attribute</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #2b91af;">xsl:attribute-set</span><span style="color: #0000ff;">&gt;<br /><br /><br />&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:template</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">match</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">/root</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">table</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">border</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">0</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">cellpadding</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">0</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">cellspacing</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">1</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;</span><span style="color: #2b91af;">xsl:apply-templates</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">select</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">row</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;/</span><span style="color: #2b91af;">xsl:apply-templates</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;/</span><span style="color: #a31515;">table</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #2b91af;">xsl:template</span><span style="color: #0000ff;">&gt;<br /><br /><br />&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:template</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">match</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">row</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">tr</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;</span><span style="color: #2b91af;">xsl:call-template</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">countup</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:with-param</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">prmcount</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">select</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">1</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> /&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:with-param</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">len</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">select</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">string-length(@value)</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> /&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;/</span><span style="color: #2b91af;">xsl:call-template</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;/</span><span style="color: #a31515;">tr</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #2b91af;">xsl:template</span><span style="color: #0000ff;">&gt;<br /><br /><br />&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:template</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">countup</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #2b91af;">xsl:param</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">prmcount</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">/&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #2b91af;">xsl:param</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">len</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">/&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #2b91af;">xsl:choose</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;</span><span style="color: #2b91af;">xsl:when</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">test</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">substring(@value,$prmcount,1) = '0'</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">td</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">xsl:use-attribute-sets</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cell0</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;/</span><span style="color: #2b91af;">xsl:when</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;</span><span style="color: #2b91af;">xsl:when</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">test</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">substring(@value,$prmcount,1) = '1'</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">td</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">xsl:use-attribute-sets</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cell1</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;/</span><span style="color: #2b91af;">xsl:when</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;</span><span style="color: #2b91af;">xsl:when</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">test</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">substring(@value,$prmcount,1) = '2'</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">td</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">xsl:use-attribute-sets</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cell2</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;/</span><span style="color: #2b91af;">xsl:when</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;</span><span style="color: #2b91af;">xsl:when</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">test</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">substring(@value,$prmcount,1) = '3'</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">td</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">xsl:use-attribute-sets</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">cell3</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #a31515;">td</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;/</span><span style="color: #2b91af;">xsl:when</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;/</span><span style="color: #2b91af;">xsl:choose</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #2b91af;">xsl:if</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">test</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">$prmcount != $len</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;</span><span style="color: #2b91af;">xsl:call-template</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">countup</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:with-param</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">prmcount</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">select</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">$prmcount + 1</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> /&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &lt;</span><span style="color: #2b91af;">xsl:with-param</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">len</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">select</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">$len</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> /&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;/</span><span style="color: #2b91af;">xsl:call-template</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;/</span><span style="color: #2b91af;">xsl:if</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #2b91af;">xsl:template</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; <br /><br />&lt;/</span><span style="color: #2b91af;">xsl:stylesheet</span><span style="color: #0000ff;">&gt;</span></code></td></tr></tbody></table></div></div>

<p><span style="FONT-WEIGHT: bold"> </span><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>長</strong></span>いです。68行あります。長くなった理由は、「XSLTの限界」を突破するために必要だったからです。ではこれから、「XSLTの限界」の説明と、その「解決法」を順番に見てきます。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">XSLTの変数は上書きできない </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>１</strong></span>つ目の限界は「XSLTの変数は上書きできない」ということです。つまり、定数（constの変数）として存在するので、変数の内容を後から上書きできません。この動かせない事実が、様々なところで問題になります。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>例</strong></span>えば今回の例でいうと、ループ処理で問題になりました。ドット絵のデータは1行14ドットで、全部で19行あります。単純に考えると、19回のループ中に14回ループを入れて処理する必要があります。19×14=266回の変換です。C#やJavaScriptで処理を書くならば、ループ変数「i」と「j」などを定義して、現在処理している位置をループによってずらしていくのがパターンでしょうか。しかし、XSLTでは変数の上書きができないのです。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">for-eachは属性値のループに使用できない </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>２</strong></span>つ目の限界は「for-eachは属性値のループに使用できない」ということです。もっと詳しく言うと、「for-each」はノードの集合に対して使用するものであるため、「00001111100000」という属性値を1文字ずつ処理することができません。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>属</strong></span>性値のループができないなら、属性値のデータを１ドットずつばらしておけばいいのでは？ ……確かにそれで解決です。しかし、それでは全然面白くないので、少々「あがいてみる」ことにしました。「何とか抜け道はないものだろうか？」と。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">再帰処理を使う </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>答</strong></span>えは、再帰処理でした。実行プランはこうです。</p>

<ul><li>「ループの回数」と「現在の値」を引数に持つテンプレートを用意する</li>

<li>テンプレート内で「現在の値」を１ずつ変化させて自分自身を呼ぶ</li>

<li>「ループの回数」になるまで自分自身を呼び続ける</li></ul>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>X</strong></span>SLTのファイル上では、具体的には42～65行目の処理になります。</p>

<p>　<strong><span style="BACKGROUND-COLOR: rgb(255,204,102)">再</span></strong>帰処理は、「処理の終了条件」を特に注意しないと、無限ループになる可能性があります。今回は、それほど複雑な処理は行っていないので、まったく問題ありません。</p>

<p></p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">トランスフォーム </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>い</strong></span>よいよ実行します。<span style="BORDER-RIGHT: rgb(0,0,0) 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: rgb(0,0,0) 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 1px solid; BORDER-BOTTOM: rgb(0,0,0) 1px solid">F5</span>！</p>

<table cellspacing="1" cellpadding="0" border="0"><tbody><tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(255,155,59)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(219,43,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(139,115,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr>

<tr><td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td>

<td width="20" height="20" style="BACKGROUND-COLOR: rgb(0,0,0)"></td></tr></tbody></table>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>P</strong></span>layStation3の豪華なグラフィックには到底及びませんが、カクカクのドット絵もまた、味があっていいですね。</p></div>]]>
        
    </content>
</entry>

<entry>
    <title>SQL ServerでXQueryするには？（準備編3）</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/05/sql-serverxquer.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6650</id>

    <published>2009-05-07T06:55:00Z</published>
    <updated>2016-05-19T06:20:55Z</updated>

    <summary>前回のおさらい 　SQL Serverを使用して、「XQuery用のXML」を取...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<div style="BACKGROUND-COLOR: rgb(238,255,204)"><h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">前回のおさらい</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>S</strong></span>QL Serverを使用して、「XQuery用のXML」を取得することに成功。しかし「NULLの項目が出力されない」問題が。試行錯誤の末に「NULLを出力するオプション」をついに発見。「テーブル」→「XML」を実現した。今回は「XML」→「テーブル」に挑戦する。</p>

<div>■TAX（消費税マスタ）テーブル　<table cellspacing="1" cellpadding="2" border="0" style="BACKGROUND-COLOR: rgb(255,0,102)"><tbody><tr align="center" bgcolor="#ff9999"><td>TAXCODE</td>

<td>TAXNAME</td>

<td>TAXRATE</td>

<td>MODIFIED</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">0</td>

<td>非課税</td>

<td>0</td>

<td>2000/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">1</td>

<td>課税</td>

<td>5</td>

<td>2001/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">8</td>

<td>旧消費税</td>

<td>3</td>

<td>2008/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">9</td>

<td>その他</td>

<td><em>NULL</em></td>

<td>2009/01/01 0:00:00</td></tr></tbody></table></div>

<p></p>

<div>■SQL文 <div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 100px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">SELECT</span><br /><span style="color: #000000;">&nbsp; &nbsp; *</span><br /><span style="color: #0000ff;">FROM</span><br /><span style="color: #000000;">&nbsp; &nbsp; TAX</span><br /><span style="color: #0000ff;">FOR XML PATH</span><span style="color: #000000;">,</span><span style="color: #0000ff;"> ROOT</span><span style="color: #000000;">,</span><span style="color: #0000ff;"> ELEMENTS XSINIL</span></code></td></tr></tbody></table></div></div>

<p></p>

<div>■XML <div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 200px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">root</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">xmlns:xsi</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">http://www.w3.org/2001/XMLSchema-instance</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">非課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2000-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">1</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">5</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2001-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">8</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">旧消費税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">3</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2008-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">9</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">その他</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">xsi:nil</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> /&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2009-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;</span></code></td></tr></tbody></table></div></div>

<p></p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">INSERT </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>一</strong></span>番最初の「XML」→「テーブル」の例として、まずは「INSERT」からやってみます。</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 300px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #008000;">/* XML文書のハンドル */</span><br /><span style="color: #0000ff;">DECLARE</span><span style="color: #000000;"> @hdoc </span><span style="color: #0000ff;">INT</span><br /><br /><br /><span style="color: #008000;">/* XML文書 */</span><br /><span style="color: #0000ff;">DECLARE</span><span style="color: #000000;"> @xmltext </span><span style="color: #0000ff;">NVARCHAR</span><span style="color: #808080;">(</span><span style="color: #000000;">4000</span><span style="color: #808080;">)</span><br /><br /><br /><span style="color: #008000;">/* XML文書作成 */</span><br /><span style="color: #0000ff;">SET</span><span style="color: #000000;"> @xmltext </span><span style="color: #808080;">=</span><span style="color: #000000;"> </span><br /><span style="color: #ff0000;">'<br />&lt;export&gt;<br />&nbsp; &nbsp; &lt;data&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val1&gt;13&lt;/val1&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val2&gt;じゅうさん&lt;/val2&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val3&gt;13&lt;/val3&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val4&gt;2013/01/01&lt;/val4&gt;<br />&nbsp; &nbsp; &lt;/data&gt;<br />&nbsp; &nbsp; &lt;data&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val1&gt;14&lt;/val1&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val2&gt;じゅうよん&lt;/val2&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val3&gt;14&lt;/val3&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val4&gt;2014/01/01&lt;/val4&gt;<br />&nbsp; &nbsp; &lt;/data&gt;<br />&lt;/export&gt;<br />'</span><br /><br /><br /><span style="color: #008000;">/* XML文書のハンドルを取得 */</span><br /><span style="color: #0000ff;">EXEC</span><span style="color: #000000;"> </span><span style="color: #800000;">sp_xml_preparedocument</span><span style="color: #000000;"> @hdoc </span><span style="color: #0000ff;">output</span><span style="color: #808080;">,</span><span style="color: #000000;"> @xmltext</span><br /><br /><br /><span style="color: #008000;">/* 実行 */</span><br /><span style="color: #0000ff;">INSERT</span><span style="color: #000000;"> </span><span style="color: #0000ff;">INTO</span><span style="color: #000000;"> <br />&nbsp; &nbsp; TAX </span><br /><span style="color: #0000ff;">SELECT</span><br /><span style="color: #000000;">&nbsp; &nbsp; ox</span><span style="color: #808080;">.</span><span style="color: #000000;">val1</span><span style="color: #808080;">,</span><span style="color: #000000;"> </span><span style="color: #008000;">/* TAXCODE */</span><br /><span style="color: #000000;">&nbsp; &nbsp; ox</span><span style="color: #808080;">.</span><span style="color: #000000;">val2</span><span style="color: #808080;">,</span><span style="color: #000000;"> </span><span style="color: #008000;">/* TAXNAME */</span><br /><span style="color: #000000;">&nbsp; &nbsp; ox</span><span style="color: #808080;">.</span><span style="color: #000000;">val3</span><span style="color: #808080;">,</span><span style="color: #000000;"> </span><span style="color: #008000;">/* TAXRATE */</span><br /><span style="color: #000000;">&nbsp; &nbsp; ox</span><span style="color: #808080;">.</span><span style="color: #000000;">val4&nbsp; </span><span style="color: #008000;">/* MODIFIED */</span><br /><span style="color: #0000ff;">FROM</span><span style="color: #000000;"> <br />&nbsp; &nbsp; </span><span style="color: #0000ff;">OPENXML</span><span style="color: #808080;">(</span><span style="color: #000000;">@hdoc</span><span style="color: #808080;">,</span><span style="color: #000000;"> N</span><span style="color: #ff0000;">'/export/data'</span><span style="color: #808080;">,</span><span style="color: #000000;"> 2</span><span style="color: #808080;">)</span><span style="color: #000000;"> <br />&nbsp; &nbsp; </span><span style="color: #0000ff;">WITH</span><span style="color: #000000;"> </span><span style="color: #808080;">(</span><span style="color: #000000;">val1 </span><span style="color: #0000ff;">VARCHAR</span><span style="color: #808080;">(</span><span style="color: #000000;">50</span><span style="color: #808080;">),</span><span style="color: #000000;"> val2 </span><span style="color: #0000ff;">VARCHAR</span><span style="color: #808080;">(</span><span style="color: #000000;">50</span><span style="color: #808080;">),</span><span style="color: #000000;"> val3 </span><span style="color: #0000ff;">INT</span><span style="color: #808080;">,</span><span style="color: #000000;"> val4 </span><span style="color: #0000ff;">DATETIME</span><span style="color: #808080;">)</span><span style="color: #000000;"> ox</span><br /><span style="color: #0000ff;">WHERE</span><span style="color: #000000;"> <br />&nbsp; &nbsp; ox</span><span style="color: #808080;">.</span><span style="color: #000000;">val1 </span><span style="color: #808080;">NOT</span><span style="color: #000000;"> </span><span style="color: #808080;">IN</span><span style="color: #000000;"> </span><span style="color: #808080;">(</span><span style="color: #0000ff;">SELECT</span><span style="color: #000000;"> TAXCODE </span><span style="color: #0000ff;">FROM</span><span style="color: #000000;"> TAX</span><span style="color: #808080;">)</span><br /><br /><br /><span style="color: #008000;">/* XML文書を解放 */</span><br /><span style="color: #0000ff;">EXEC</span><span style="color: #000000;"> </span><span style="color: #800000;">sp_xml_removedocument</span><span style="color: #000000;"> @hdoc</span><br /><br /><br /><span style="color: #008000;">/* 実行結果の確認 */</span><br /><span style="color: #0000ff;">SELECT</span><span style="color: #000000;"> </span><span style="color: #808080;">*</span><span style="color: #000000;"> </span><span style="color: #0000ff;">FROM</span><span style="color: #000000;"> TAX</span></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>実</strong></span></span>行。<span style="BORDER-RIGHT: rgb(0,0,0) 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: rgb(0,0,0) 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 1px solid; BORDER-BOTTOM: rgb(0,0,0) 1px solid">F5</span>！</p>

<div><table cellspacing="1" cellpadding="2" border="0" style="BACKGROUND-COLOR: rgb(255,0,102)"><tbody><tr align="center" bgcolor="#ff9999"><td>TAXCODE</td>

<td>TAXNAME</td>

<td>TAXRATE</td>

<td>MODIFIED</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">0</td>

<td>非課税</td>

<td>0</td>

<td>2000/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">1</td>

<td>課税</td>

<td>5</td>

<td>2001/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">13</td>

<td>じゅうさん</td>

<td>13</td>

<td>2013/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">14</td>

<td>じゅうよん</td>

<td>14</td>

<td>2014/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">8</td>

<td>旧消費税</td>

<td>3</td>

<td>2008/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">9</td>

<td>その他</td>

<td><em>NULL</em></td>

<td>2009/01/01 0:00:00</td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>O</strong></span>Kです。TAXCODEは文字型なので、「13」と「14」は真ん中にきています。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>そ</strong></span>れでは、この処理を実際に担当している処理を見ていきます。</p>

<p></p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">XML三人衆 </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>X</strong></span>MLでテーブルに更新を掛けるには、合計三つの機能が必要です。これを仮に「XML三人衆」と名づけます。</p>

<ul><li>「<a href="http://msdn.microsoft.com/ja-jp/library/ms187367(SQL.90).aspx" target="_blank">sp_xml_preparedocument</a>」</li>

<li>「<a href="http://msdn.microsoft.com/ja-jp/library/ms186918(SQL.90).aspx" target="_blank">OPENXML</a>」</li>

<li>「<a href="http://msdn.microsoft.com/ja-jp/library/ms190353(SQL.90).aspx" target="_blank">sp_xml_removedocument</a>」</li></ul>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>の三人衆のコンビネーションを順番に見ていきます。</p>

<p></p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">sp_xml_preparedocument </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>深</strong><span style="BACKGROUND-COLOR: rgb(238,255,204)">い内容は、上のリンクから「MSDN」を直接ご参照いただくとして、簡単な内容を掻い摘んで説明すると、このコラムでは1～30行目の処理になります。このストアドプロシージャが行っていることは、第2引数「xmltext」から受け取ったXML文書をメモリ上に展開し、第1引数「hdoc」にXML文書のハンドルを取得します。 </span></span></p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>ハ</strong></span>ンドルとは、例えば、「車のハンドル」を思い浮かべていただければOKです。「車のハンドル」を握れば、「車」をコントロールできます。同様に、「XML文書のハンドル」を握れば、「XML文書」をコントロールできます。その為に、この「sp_xml_preparedocument」というストアドプロシージャが必要なのです。 </p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>実</strong></span>は、「sp_xml_preparedocument」の処理には、少しコツが必要です。それは、第2引数である「xmltext」についてです。ここには、「char、nchar、varchar、nvarchar、text、ntext、または xml 型」が入ります。しかし、日本語を正しく処理できるのは、「nchar、nvarchar、ntext、xml型」でした（SQL Serverのある設定をいじれば、対応可能なのかもしれませんが……）。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>日</strong></span>本語を正しく処理できる「nchar、nvarchar、ntext、xml型」の中で、私のオススメは「nvarchar型」です。理由としては、「nvarchar型」が一時的な利用にちょうど良いサイズだからです。本来ここはXMLの処理なので、「xml型」でいくべきだと考えたのですが、「xml型」は直接手書きできないという制限がありました。「xml型」を作成するには、テーブルに対して「FOR XML」をつけてSELECTするか、一度「nvarchar型」などでXMLを記述してから、「xml型」にキャストする必要がありました。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>そ</strong></span>もそも「sp_xml_preparedocument」の第2引数には、「nvarchar型」でOKなのですから、わざわざ「xml型」にこだわる必要はなかったのです。ここは是非、「nvarchar型」を使用してください。</p>

<p></p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">OPENXML </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>X</strong></span>MLを動的なビューとして表現します。42～43行目が特に重要な部分です。第1引数は、先ほど取得したXML文書のハンドル「@hdoc」を設定します。第2引数は、実データへのXPATHを記述します。「N'/export/data'」を設定します。頭の「N」は日本語の混じったXPATH対応用です。今回は必要ありませんが、念のため入れています。第3引数は、XMLの文書タイプです。今回の文書タイプは、「要素」なので「2」を設定します。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>最</strong></span>後に、「WITH」に続けてスキーマを記述します。SQL Serverには暗黙変換の機能がありますが、対応するフィールドと同じ型に揃えておきます。</p>

<p></p>

<table cellspacing="1" cellpadding="2" border="0"><tbody><tr><td>TAXCODE　VARCHAR(50)</td>

<td>→</td>

<td>val1 VARCHAR(50)</td></tr>

<tr><td>TAXNAME　VARCHAR(50)</td>

<td>→</td>

<td>val2 VARCHAR(50)</td></tr>

<tr><td>TAXRATE　INT</td>

<td>→</td>

<td>val3 INT</td></tr>

<tr><td>MODIFIED　DATETIME</td>

<td>→</td>

<td>val4 DATETIME</td></tr></tbody></table>

<p></p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">sp_xml_removedocument </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>メ</strong></span>モリ上に展開されているXML文書を解放します。第1引数に「sp_xml_preparedocument」で取得しておいたXML文書のハンドル「@hdoc」を指定します。これを忘れると、SQL Serverがメモリ不足になることがあるそうです。49行目にこの処理を行っています。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>以</strong></span>上で、コンビネーションの説明は終わりです。お疲れ様でした。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>さ</strong></span>てさて、XMLで「INSERT」ができるならば、「UPDATE」も可能なのでしょうか？ その答えは「Yes」です。</p>

<p></p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">UPDATE </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>I</strong></span>NSERTの場合と、やっていることは同じです。例として「TAXNAME」を漢字にしてみます。</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 300px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #008000;">/* XML文書のハンドル */</span><br /><span style="color: #0000ff;">DECLARE</span><span style="color: #000000;"> @hdoc </span><span style="color: #0000ff;">INT</span><br /><br /><br /><span style="color: #008000;">/* XML文書 */</span><br /><span style="color: #0000ff;">DECLARE</span><span style="color: #000000;"> @xmltext </span><span style="color: #0000ff;">NVARCHAR</span><span style="color: #808080;">(</span><span style="color: #000000;">4000</span><span style="color: #808080;">)</span><br /><br /><br /><span style="color: #008000;">/* XML文書作成 */</span><br /><span style="color: #0000ff;">SET</span><span style="color: #000000;"> @xmltext </span><span style="color: #808080;">=</span><span style="color: #000000;"> </span><br /><span style="color: #ff0000;">'<br />&lt;export&gt;<br />&nbsp; &nbsp; &lt;data&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val1&gt;13&lt;/val1&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val2&gt;十三&lt;/val2&gt;<br />&nbsp; &nbsp; &lt;/data&gt;<br />&nbsp; &nbsp; &lt;data&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val1&gt;14&lt;/val1&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val2&gt;十四&lt;/val2&gt;<br />&nbsp; &nbsp; &lt;/data&gt;<br />&lt;/export&gt;<br />'</span><br /><br /><br /><span style="color: #008000;">/* XML文書のハンドルを取得 */</span><br /><span style="color: #0000ff;">EXEC</span><span style="color: #000000;"> </span><span style="color: #800000;">sp_xml_preparedocument</span><span style="color: #000000;"> @hdoc </span><span style="color: #0000ff;">output</span><span style="color: #808080;">,</span><span style="color: #000000;"> @xmltext</span><br /><br /><br /><span style="color: #008000;">/* 実行 */</span><br /><span style="color: #0000ff;">UPDATE</span><span style="color: #000000;"> <br />&nbsp; &nbsp; TAX</span><br /><span style="color: #0000ff;">SET</span><span style="color: #000000;"> <br />&nbsp; &nbsp; TAX</span><span style="color: #808080;">.</span><span style="color: #000000;">TAXCODE </span><span style="color: #808080;">=</span><span style="color: #000000;"> ox</span><span style="color: #808080;">.</span><span style="color: #000000;">val1</span><span style="color: #808080;">,</span><br /><span style="color: #000000;">&nbsp; &nbsp; TAX</span><span style="color: #808080;">.</span><span style="color: #000000;">TAXNAME </span><span style="color: #808080;">=</span><span style="color: #000000;"> ox</span><span style="color: #808080;">.</span><span style="color: #000000;">val2</span><br /><span style="color: #0000ff;">FROM</span><span style="color: #000000;"> <br />&nbsp; &nbsp; </span><span style="color: #0000ff;">OPENXML</span><span style="color: #808080;">(</span><span style="color: #000000;">@hdoc</span><span style="color: #808080;">,</span><span style="color: #000000;"> N</span><span style="color: #ff0000;">'/export/data'</span><span style="color: #808080;">,</span><span style="color: #000000;"> 2</span><span style="color: #808080;">)</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">WITH</span><span style="color: #000000;"> </span><span style="color: #808080;">(</span><span style="color: #000000;">val1 </span><span style="color: #0000ff;">VARCHAR</span><span style="color: #808080;">(</span><span style="color: #000000;">50</span><span style="color: #808080;">),</span><span style="color: #000000;"> val2 </span><span style="color: #0000ff;">VARCHAR</span><span style="color: #808080;">(</span><span style="color: #000000;">50</span><span style="color: #808080;">))</span><span style="color: #000000;"> ox</span><br /><span style="color: #0000ff;">WHERE</span><span style="color: #000000;"> <br />&nbsp; &nbsp; TAX</span><span style="color: #808080;">.</span><span style="color: #000000;">TAXCODE </span><span style="color: #808080;">=</span><span style="color: #000000;"> ox</span><span style="color: #808080;">.</span><span style="color: #000000;">val1</span><br /><br /><br /><span style="color: #008000;">/* XML文書を解放 */</span><br /><span style="color: #0000ff;">EXEC</span><span style="color: #000000;"> </span><span style="color: #800000;">sp_xml_removedocument</span><span style="color: #000000;"> @hdoc</span><br /><br /><br /><span style="color: #008000;">/* 実行結果の確認 */</span><br /><span style="color: #0000ff;">SELECT</span><span style="color: #000000;"> </span><span style="color: #808080;">*</span><span style="color: #000000;"> </span><span style="color: #0000ff;">FROM</span><span style="color: #000000;"> TAX</span></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>実</strong></span></span>行。<span style="BORDER-RIGHT: rgb(0,0,0) 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: rgb(0,0,0) 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 1px solid; BORDER-BOTTOM: rgb(0,0,0) 1px solid">F5</span>！</p>

<div><table cellspacing="1" cellpadding="2" border="0" style="BACKGROUND-COLOR: rgb(255,0,102)"><tbody><tr align="center" bgcolor="#ff9999"><td>TAXCODE</td>

<td>TAXNAME</td>

<td>TAXRATE</td>

<td>MODIFIED</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">0</td>

<td>非課税</td>

<td>0</td>

<td>2000/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">1</td>

<td>課税</td>

<td>5</td>

<td>2001/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">13</td>

<td>十三</td>

<td>13</td>

<td>2013/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">14</td>

<td>十四</td>

<td>14</td>

<td>2014/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">8</td>

<td>旧消費税</td>

<td>3</td>

<td>2008/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">9</td>

<td>その他</td>

<td><em>NULL</em></td>

<td>2009/01/01 0:00:00</td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>で</strong></span>きました。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>主</strong></span>キーの「TAXCODE」と、更新対象の「TAXNAME」の分だけXMLを用意すればOKです。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">DELETE </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>最</strong></span>後に「DELETE」です。「INSERT」した「13」と「14」のレコードを削除します。</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 300px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42</code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #008000;">/* XML文書のハンドル */</span><br /><span style="color: #0000ff;">DECLARE</span><span style="color: #000000;"> @hdoc </span><span style="color: #0000ff;">INT</span><br /><br /><br /><span style="color: #008000;">/* XML文書 */</span><br /><span style="color: #0000ff;">DECLARE</span><span style="color: #000000;"> @xmltext </span><span style="color: #0000ff;">NVARCHAR</span><span style="color: #808080;">(</span><span style="color: #000000;">4000</span><span style="color: #808080;">)</span><br /><br /><br /><span style="color: #008000;">/* XML文書作成 */</span><br /><span style="color: #0000ff;">SET</span><span style="color: #000000;"> @xmltext </span><span style="color: #808080;">=</span><span style="color: #000000;"> </span><br /><span style="color: #ff0000;">'<br />&lt;export&gt;<br />&nbsp; &nbsp; &lt;data&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val1&gt;13&lt;/val1&gt;<br />&nbsp; &nbsp; &lt;/data&gt;<br />&nbsp; &nbsp; &lt;data&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;val1&gt;14&lt;/val1&gt;<br />&nbsp; &nbsp; &lt;/data&gt;<br />&lt;/export&gt;<br />'</span><br /><br /><br /><span style="color: #008000;">/* XML文書のハンドルを取得 */</span><br /><span style="color: #0000ff;">EXEC</span><span style="color: #000000;"> </span><span style="color: #800000;">sp_xml_preparedocument</span><span style="color: #000000;"> @hdoc </span><span style="color: #0000ff;">output</span><span style="color: #808080;">,</span><span style="color: #000000;"> @xmltext</span><br /><br /><br /><span style="color: #008000;">/* 実行 */</span><br /><span style="color: #0000ff;">DELETE</span><span style="color: #000000;"> <br />&nbsp; &nbsp; TAX</span><br /><span style="color: #0000ff;">FROM</span><span style="color: #000000;"> <br />&nbsp; &nbsp; </span><span style="color: #0000ff;">OPENXML</span><span style="color: #808080;">(</span><span style="color: #000000;">@hdoc</span><span style="color: #808080;">,</span><span style="color: #000000;"> N</span><span style="color: #ff0000;">'/export/data'</span><span style="color: #808080;">,</span><span style="color: #000000;"> 2</span><span style="color: #808080;">)</span><br /><span style="color: #000000;"> </span><span style="color: #0000ff;">WITH</span><span style="color: #000000;"> </span><span style="color: #808080;">(</span><span style="color: #000000;">val1 </span><span style="color: #0000ff;">VARCHAR</span><span style="color: #808080;">(</span><span style="color: #000000;">50</span><span style="color: #808080;">))</span><span style="color: #000000;"> ox</span><br /><span style="color: #0000ff;">WHERE</span><span style="color: #000000;"> <br />&nbsp; &nbsp; TAX</span><span style="color: #808080;">.</span><span style="color: #000000;">TAXCODE </span><span style="color: #808080;">=</span><span style="color: #000000;"> ox</span><span style="color: #808080;">.</span><span style="color: #000000;">val1</span><br /><br /><br /><span style="color: #008000;">/* XML文書を解放 */</span><br /><span style="color: #0000ff;">EXEC</span><span style="color: #000000;"> </span><span style="color: #800000;">sp_xml_removedocument</span><span style="color: #000000;"> @hdoc</span><br /><br /><br /><span style="color: #008000;">/* 実行結果の確認 */</span><br /><span style="color: #0000ff;">SELECT</span><span style="color: #000000;"> </span><span style="color: #808080;">*</span><span style="color: #000000;"> </span><span style="color: #0000ff;">FROM</span><span style="color: #000000;"> TAX</span></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>実</strong></span>行。<span style="BORDER-RIGHT: rgb(0,0,0) 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: rgb(0,0,0) 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 1px solid; BORDER-BOTTOM: rgb(0,0,0) 1px solid">F5</span>！</p>

<div><table cellspacing="1" cellpadding="2" border="0" style="BACKGROUND-COLOR: rgb(255,0,102)"><tbody><tr align="center" bgcolor="#ff9999"><td>TAXCODE</td>

<td>TAXNAME</td>

<td>TAXRATE</td>

<td>MODIFIED</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">0</td>

<td>非課税</td>

<td>0</td>

<td>2000/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">1</td>

<td>課税</td>

<td>5</td>

<td>2001/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">8</td>

<td>旧消費税</td>

<td>3</td>

<td>2008/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">9</td>

<td>その他</td>

<td><em>NULL</em></td>

<td>2009/01/01 0:00:00</td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>テ</strong></span>ーブルが最初の状態に戻りましたね。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">ありがとうございました</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>さ</strong></span>て、これで「XML」→「テーブル」を一通り行ったことになります。「XML三人衆」さえ使いこなせれば、普通のT-SQLの処理なんだなーと感じました。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>今</strong></span>回の「SQL ServerでXQueryするには？（準備編3）」をもって、準備編は終了です。そして、XQueryの次のテーマは、「FLWOR式」です。しかし、.NET技術者としては、「Linq To SQL」や「Linq To XML」という技術もあります。正直悩ましいところです。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>と</strong></span>りあえず、次回からは「XQuery」とは別の話題でいきたいと思っています。</p></div>]]>
        <![CDATA[<p></p>]]>
    </content>
</entry>

<entry>
    <title>SQL ServerでXQueryするには？（準備編2）</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/04/sql-serverxqu-1.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6649</id>

    <published>2009-04-07T09:55:00Z</published>
    <updated>2016-05-19T06:20:55Z</updated>

    <summary>前回のおさらい 　SQL Serverを使用して、XQuery用のXMLを取得す...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<div style="BACKGROUND-COLOR: rgb(238,255,204)"><h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">前回のおさらい</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>S</strong></span>QL Serverを使用して、XQuery用のXMLを取得することに成功。しかし「不正なXML」状態で取得されてしまう問題が。ルートを新たに加えるオプションを発見することで、「不正なXML」からの脱却を図ったのだが……。</p>

<div>■TAX（消費税マスタ）テーブル　<table cellspacing="1" cellpadding="2" border="0" style="BACKGROUND-COLOR: rgb(255,0,102)"><tbody><tr align="center" bgcolor="#ff9999"><td>TAXCODE</td>

<td>TAXNAME</td>

<td>TAXRATE</td>

<td>MODIFIED</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">0</td>

<td>非課税</td>

<td>0</td>

<td>2000/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">1</td>

<td>課税</td>

<td>5</td>

<td>2001/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">8</td>

<td>旧消費税</td>

<td>3</td>

<td>2008/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">9</td>

<td>その他</td>

<td><em>NULL</em></td>

<td>2009/01/01 0:00:00</td></tr></tbody></table></div>

<p></p>

<div>■SQL文 <div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 100px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">SELECT<br /></span><span style="color: #000000;">&nbsp; &nbsp; *<br /></span><span style="color: #0000ff;">FROM<br /></span><span style="color: #000000;">&nbsp; &nbsp; TAX<br /></span><span style="color: #0000ff;">FOR </span><span style="color: #0000ff;">XML PATH</span><span style="color: #000000;">,</span><span style="color: #0000ff;"> ROOT</span><br /></code></td></tr></tbody></table></div></div>

<p></p>

<div>■XML <div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 200px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">非課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2000-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">1</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">5</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2001-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">8</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">旧消費税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">3</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2008-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">9</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">その他</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2009-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;</span><br /></code></td></tr></tbody></table></div></div>

<p></p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">NULLの項目が出てこない </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>消</strong></span>費税が「その他」の場合、「TAXRATE」は「NULL」です。これがXMLには出力されていません。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>そ</strong></span>れなら「NULL」を、別の何かに置き換えてしまえばよいですね。「ISNULL」関数の出番です。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>実</strong></span>際にやってみました。「*」で省略していたフィールド名を、ひとつひとつ書かなければなりませんが、4つしかないので、パパッとやってしまいます。</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 140px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">SELECT<br /></span><span style="color: #000000;">&nbsp; &nbsp; TAXCODE,<br />&nbsp; &nbsp; TAXNAME,<br />&nbsp; &nbsp; </span><span style="color: #ff00ff;">ISNULL</span><span style="color: #000000;">( TAXRATE, </span><span style="color: #ff0000;">'' </span><span style="color: #000000;">),<br />&nbsp; &nbsp; MODIFIED<br /></span><span style="color: #0000ff;">FROM<br /></span><span style="color: #000000;">&nbsp; &nbsp; TAX<br /></span><span style="color: #0000ff;">FOR XML PATH</span><span style="color: #000000;">,</span><span style="color: #0000ff;"> ROOT</span><br /></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>実</strong></span></span>行。<span style="BORDER-RIGHT: rgb(0,0,0) 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: rgb(0,0,0) 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 1px solid; BORDER-BOTTOM: rgb(0,0,0) 1px solid">F5</span>！</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 200px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">非課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br /></span><span style="color: #000000;">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 0 </span><br /><span style="color: #0000ff;">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2000-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">1</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br /></span><span style="color: #000000;">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 5 </span><br /><span style="color: #0000ff;">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2001-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">8</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">旧消費税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br /></span><span style="color: #000000;">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 3 </span><br /><span style="color: #0000ff;">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2008-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">9</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">その他</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br /></span><span style="color: #000000;">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 0 </span><br /><span style="color: #0000ff;">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2009-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;</span><br /></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>な</strong></span>んと！ むき出しの値が取得されました（※見やすいように改行を加えています）。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>納</strong></span>得がいかないので色々あがいていたら、意外と単純な方法で「TAXRATEタグ」を出すことに成功しました。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">TAXRATEタグを出す </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>そ</strong></span>の答えは、フィールドに別名をつけることでした。どうやら「AS」を使用して名前を定義し直せばイケるようです。</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 140px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">SELECT<br /></span><span style="color: #000000;">&nbsp; &nbsp; TAXCODE,<br />&nbsp; &nbsp; TAXNAME,<br />&nbsp; &nbsp; </span><span style="color: #ff00ff;">ISNULL</span><span style="color: #000000;">( TAXRATE, </span><span style="color: #ff0000;">'' </span><span style="color: #000000;">) </span><span style="color: #0000ff;">AS</span><span style="color: #000000;"> TAXRATE,<br />&nbsp; &nbsp; MODIFIED<br /></span><span style="color: #0000ff;">FROM<br /></span><span style="color: #000000;">&nbsp; &nbsp; TAX<br /></span><span style="color: #0000ff;">FOR XML PATH</span><span style="color: #000000;">,</span><span style="color: #0000ff;"> ROOT</span><br /></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>ト</strong></span>ン。<span style="BORDER-RIGHT: rgb(0,0,0) 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: rgb(0,0,0) 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 1px solid; BORDER-BOTTOM: rgb(0,0,0) 1px solid">F5</span>！</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 200px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">非課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2000-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">1</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">5</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2001-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">8</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">旧消費税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">3</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2008-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">9</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">その他</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2009-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;</span><br /></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>で</strong></span>き……てません！</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>よ</strong></span>く見てみると、「NULL」が「0」に変換されています。TAXRATEは数値型だからでしょうか。しかしここでは、「NULL」の場合は「空の要素」で取得したいところです。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>M</strong></span>SDNのヘルプを片っ端から読みました。するとあったんです。「NULL」を「空の要素」で取得するオプションが。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">ELEMENTS XSINIL</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>空</strong></span>の要素を取得するオプション。それは、「ELEMENTS XSINIL」でした。しかも、「ISNULL」を個別のフィールドに書く必要がなくなるので、SQL文がスッキリしました。</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 100px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">SELECT<br /></span><span style="color: #000000;">&nbsp; &nbsp; *<br /></span><span style="color: #0000ff;">FROM<br /></span><span style="color: #000000;">&nbsp; &nbsp; TAX<br /></span><span style="color: #0000ff;">FOR XML PATH</span><span style="color: #000000;">,</span><span style="color: #0000ff;"> ROOT</span><span style="color: #000000;">,</span><span style="color: #0000ff;"> ELEMENTS XSINIL</span><br /></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>い</strong></span>きます。<span style="BORDER-RIGHT: rgb(0,0,0) 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: rgb(0,0,0) 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 1px solid; BORDER-BOTTOM: rgb(0,0,0) 1px solid">F5</span>！</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 200px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">root</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">xmlns:xsi</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">http://www.w3.org/2001/XMLSchema-instance</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">非課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2000-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">1</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">5</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2001-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">8</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">旧消費税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">3</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2008-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">9</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">その他</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;"> </span><span style="color: #ff0000;">xsi:nil</span><span style="color: #0000ff;">=</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">&quot;</span><span style="color: #0000ff;"> /&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2009-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;</span><br /></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>き</strong></span>たー！</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>つ</strong></span>いに「空の要素」を取得できました。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>よ</strong></span>く見てみると、「root」に名前空間「xsi」が追加されています。そして、「TAXRATE」は空の要素になり、属性「xsi:nil=&quot;true&quot;」が追加されています。この属性により、単なる「空の要素」なのか「NULL」なのかを判断することができます。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">ありがとうございました</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>さ</strong></span>て、今回なんとか「テーブル」→「XML」を実現することができました。それだけでも満足なのに、よく調べてみると、なんと！ その逆もできるらしいです！</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>次</strong></span>回は、XMLでテーブルの更新に挑戦してみようと思っています。</p></div>]]>
        
    </content>
</entry>

<entry>
    <title>SQL ServerでXQueryするには？（準備編1）</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/03/sql-serverxquer.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6648</id>

    <published>2009-03-31T09:59:00Z</published>
    <updated>2016-05-19T06:20:55Z</updated>

    <summary>気になるXQuery 　最近、「XQuery」が気になっています。 　今現在、「...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<div style="BACKGROUND-COLOR: rgb(238,255,204)"><h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">気になるXQuery</h2>

<p>　<span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>最</strong></span></span>近、「XQuery」が気になっています。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>今</strong></span>現在、「XPath」を使用していて、特に不自由はしていません。しかし理由もなく、「XQuery」がこの世の中に生まれてくるわけがありません。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">XML DBっていっても色々ありますね</h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>X</strong></span>ML Databaseについては、<a href="http://www.xmldb.jp/" target="_blank">このサイト</a>が便利です。アイティメディアも企画協力しています。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>さ</strong></span>て、勉強用のXQuery実行環境をどうするのか？ 1週間くらい悩みました。XQueryするならやはりXMLネイティヴのデータベースがいいのか？ それともハイブリッドのデータベースがいいのか？</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>結</strong></span>局、普段使用しているハイブリッドのSQL Serverで実行することにしました。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">結果をXMLで取得する </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>X</strong></span>Queryを実行するためには、当然XMLが必要です。SQL Serverでは、XMLを得る方法が2つ用意されています。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>1</strong></span>つ目は、XML型のフィールドを定義すること。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>2</strong></span>つ目は、魔法のことば「FOR XML PATH」を使うこと。今回はこちらを採用します。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">サンプルテーブル </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span>んな感じの、TAX（消費税マスタ）テーブルを作っておきました。</p>

<p></p>

<table cellspacing="1" cellpadding="2" border="0" style="BACKGROUND-COLOR: rgb(255,0,102)"><tbody><tr align="center" bgcolor="#ff9999"><td>TAXCODE</td>

<td>TAXNAME</td>

<td>TAXRATE</td>

<td>MODIFIED</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">0</td>

<td>非課税</td>

<td>0</td>

<td>2000/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">1</td>

<td>課税</td>

<td>5</td>

<td>2001/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">8</td>

<td>旧消費税</td>

<td>3</td>

<td>2008/01/01 0:00:00</td></tr>

<tr bgcolor="#ffffff"><td align="left" bgcolor="#ffcccc">9</td>

<td>その他</td>

<td><em>NULL</em></td>

<td>2009/01/01 0:00:00</td></tr></tbody></table>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">XMLにしてしまえ </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>で</strong></span>、実際にやってみました。</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 100px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">SELECT<br /></span><span style="color: #000000;">&nbsp; &nbsp; *<br /></span><span style="color: #0000ff;">FROM<br /></span><span style="color: #000000;">&nbsp; &nbsp; TAX<br /></span><span style="color: #0000ff;">FOR </span><span style="color: #0000ff;">XML PATH<br /></span></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>実</strong></span>行。<span style="BORDER-RIGHT: rgb(0,0,0) 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: rgb(0,0,0) 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 1px solid; BORDER-BOTTOM: rgb(0,0,0) 1px solid">F5</span>！</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 200px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">非課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2000-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">1</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">5</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2001-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">8</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">旧消費税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">3</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2008-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">9</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">その他</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2009-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;</span><br /></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>な</strong></span>んと！ 第1階層に「row」が4つで取得されました。</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>X</strong></span>MLでは、第1階層は「ルート」と呼ばれ、複数のルートがあってはならないのです。つまりこのXMLは、不正なXMLです。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">ルートを追加する </h2>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>ル</strong></span>ートを追加してみよう。やり方は「PATH」の後ろに、カンマで区切って「ROOT」と記述します。</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 100px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">SELECT<br /></span><span style="color: #000000;">&nbsp; &nbsp; *<br /></span><span style="color: #0000ff;">FROM<br /></span><span style="color: #000000;">&nbsp; &nbsp; TAX<br /></span><span style="color: #0000ff;">FOR </span><span style="color: #0000ff;">XML PATH</span><span style="color: #000000;">,</span><span style="color: #0000ff;"> ROOT</span><br /></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>い</strong></span>ざ実行だ。<span style="BORDER-RIGHT: rgb(0,0,0) 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: rgb(0,0,0) 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 1px solid; BORDER-BOTTOM: rgb(0,0,0) 1px solid">F5</span>！</p>

<div style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; OVERFLOW: scroll; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; HEIGHT: 200px; BACKGROUND-COLOR: rgb(255,255,255)"><table border="0"><tbody><tr><td style="BORDER-RIGHT: rgb(128,128,128) 5px double; VERTICAL-ALIGN: top; LINE-HEIGHT: 1; TEXT-ALIGN: right"><code style="FONT-SIZE: 10pt; COLOR: rgb(43,145,175); FONT-FAMILY: 'MS Gothic'">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></code></td>

<td style="VERTICAL-ALIGN: top; WIDTH: 100%; LINE-HEIGHT: 1; WHITE-SPACE: nowrap; TEXT-ALIGN: left"><code style="FONT-SIZE: 10pt; FONT-FAMILY: 'MS Gothic'"><span style="color: #0000ff;">&lt;</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">非課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">0</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2000-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">1</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">課税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">5</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2001-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">8</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">旧消費税</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">3</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXRATE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2008-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">9</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXCODE</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">その他</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">TAXNAME</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">2009-01-01T00:00:00</span><span style="color: #0000ff;">&lt;/</span><span style="color: #a31515;">MODIFIED</span><span style="color: #0000ff;">&gt;<br />&nbsp; &nbsp; &lt;/</span><span style="color: #a31515;">row</span><span style="color: #0000ff;">&gt;<br />&lt;/</span><span style="color: #a31515;">root</span><span style="color: #0000ff;">&gt;</span><br /></code></td></tr></tbody></table></div>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>で</strong></span>きた(&gt;&lt;)</p>

<p>　<span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>し</strong></span>かし少々気になる点が……。その問題点と解決方法は、次回に続きます。</p></div>]]>
        
    </content>
</entry>

<entry>
    <title>XMLの要素と属性、どちらが便利か</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/03/2009-d4ef.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6647</id>

    <published>2009-03-04T06:55:00Z</published>
    <updated>2016-05-19T06:20:55Z</updated>

    <summary>こんなの便所の落書きだよ 　このコラムを読んだ同僚の感想だ。同僚が言うには、「自...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<div style="BACKGROUND-COLOR: rgb(238,255,204)"><h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">こんなの便所の落書きだよ</h2>

<p>　<strong><span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)">こ</span></span></strong>のコラムを読んだ同僚の感想だ。同僚が言うには、「自分の思い」ばかりが先行していて、「何が言いたいのか」が伝わってこないそうだ。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">文章を読みやすくする</h2>

<p>　<strong><span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)">猛</span></span></strong>烈に反省した。これからは主観的な思いは抑えめにして、より「客観的」に書くことを意識しよう。また、文章の内容だけでなく、「デザイン上の読みやすさ」も配慮しよう。以下、もう少し考えながら文章を書いてみるテスト。</p>

<p style="TEXT-ALIGN: center">■</p>

<p style="TEXT-ALIGN: center">■</p>

<p style="TEXT-ALIGN: center">■</p>

<p style="TEXT-ALIGN: center">■</p>

<p style="TEXT-ALIGN: center">■</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">XMLの要素と属性、どちらが便利か</h2>

<p>　<strong><span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)">.N</span></span></strong>ETでアプリケーションの設定ファイルといえば、「App.config」や「Web.config」である。主な目的は「データベースへの接続文字列」など、後から設定の変更が予測される値を格納することである。このconfigファイルはXMLで記述されている。XMLには値を格納する方法が2つあり、要素（element）と、属性（attribute）が考えられる。それでは、要素と属性のどちらが便利なのだろうか。</p>

<p>　<strong><span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)">答</span></span></strong>えは、「要素」である。</p>

<p>　<strong><span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)">な</span></span></strong>ぜなら、要素は自分の内部に「要素」を持つことができるから。逆に言うと、属性は自分の内部に「属性」を持つことはできないから。</p>

<p>　<strong><span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)">例</span></span></strong>えば、四国の人口を例に考えてみる。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">要素と属性の表現の違い</h2>

<p><strong>■四国の人口</strong></p>

<p><textarea readonly="true" wrap="off" style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; FONT-FAMILY: 'ＭＳ ゴシック'; HEIGHT: 100px; BACKGROUND-COLOR: rgb(255,232,216)">&nbsp; &nbsp; &lt;prefecture&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;shikoku population=&quot;XXX&quot;&gt;&lt;/shikoku&gt;
&nbsp; &nbsp; &lt;/prefecture&gt;</textarea> </p>

<p>　<span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>こ</strong></span></span>のXMLは四国の人口データを格納している。もしここで、四国4県ごとの人口データを追加する必要が出てきたとする。要素ならば、以下のように表現するだろう。</p>

<p><strong>■各4県のデータを追加（要素）</strong></p>

<p><textarea readonly="true" wrap="off" style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; FONT-FAMILY: 'ＭＳ ゴシック'; HEIGHT: 150px; BACKGROUND-COLOR: rgb(255,232,216)">&nbsp; &nbsp; &lt;prefecture&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;shikoku population=&quot;XXX&quot;&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;kagawa population=&quot;XXX&quot;&gt;&lt;/kagawa&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;tokushima population=&quot;XXX&quot;&gt;&lt;/tokushima&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;ehime population=&quot;XXX&quot;&gt;&lt;/ehime&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;kouchi population=&quot;XXX&quot;&gt;&lt;/kouchi&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;/shikoku&gt;
&nbsp; &nbsp; &lt;/prefecture&gt;</textarea> </p>

<p>　<span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>要</strong></span></span>素は入れ子にできる。そこで、「香川」「徳島」「愛媛」「高知」の4県は、「四国地方」の子ノードとして追加してやればよい。ところが、属性の場合は一工夫必要になる。</p>

<p><strong>■各4県のデータを追加（属性）</strong></p>

<p><textarea readonly="true" wrap="off" style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; FONT-FAMILY: 'ＭＳ ゴシック'; HEIGHT: 100px; BACKGROUND-COLOR: rgb(255,232,216)">&nbsp; &nbsp; &lt;prefecture&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;shikoku population=&quot;XXX&quot; kagawa_population=&quot;XXX&quot; tokushima_population=&quot;XXX&quot; ehime_population=&quot;XXX&quot; kouchi_population=&quot;XXX&quot;&gt;&lt;/shikoku&gt;
&nbsp; &nbsp; &lt;/prefecture&gt;</textarea> </p>

<p>　<span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>各</strong></span></span>県名をプレフィックスにした属性名を作成して対処した。一見、要素の場合と大した差はないように思える。しかし、もし地域を更に細かくして、高知県内の高知市や安芸市などの人口情報を追加する必要が出てきた場合はどうだろう。属性がどんどん増えていって、いびつなノードになる。入れ子にできないということは、入れ子構造を無理やり属性名でカバーする必要があるということだ。</p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">要素が便利であるもう1つの理由</h2>

<p>　<span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>要</strong></span></span>素が属性よりも便利である理由が「入れ子」以外に、もう1つ存在する。それは、要素は「同じ階層に同じ値を複数持てる」という点である。</p>

<p><strong>■人類として「すずきいちろう」が4人いる（要素）</strong></p>

<p><textarea readonly="true" wrap="off" style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; FONT-FAMILY: 'ＭＳ ゴシック'; HEIGHT: 150px; BACKGROUND-COLOR: rgb(255,232,216)">&nbsp; &nbsp; &lt;human&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;suzuki&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;name&gt;ichiro&lt;/name&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;name&gt;ichiro&lt;/name&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;name&gt;ichiro&lt;/name&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&lt;name&gt;ichiro&lt;/name&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;/suzuki&gt;
&nbsp; &nbsp; &lt;/human&gt;</textarea> </p>

<p>　<span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>属</strong></span></span>性は、同じ階層に同じ値を持てない。以下のXMLはエラーを起こす不正なXMLである。</p>

<p><strong>■人類として「すずきいちろう」が4人いる（属性）<span style="color: #ff0000;">※エラー</span></strong></p>

<p><textarea readonly="true" wrap="off" style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; FONT-FAMILY: 'ＭＳ ゴシック'; HEIGHT: 100px; BACKGROUND-COLOR: rgb(255,232,216)">&nbsp; &nbsp; &lt;human&gt;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &lt;suzuki name=&quot;ichiro&quot; name=&quot;ichiro&quot; name=&quot;ichiro&quot; name=&quot;ichiro&quot;&gt;&lt;/suzuki&gt;
&nbsp; &nbsp; &lt;/human&gt;</textarea> </p>

<h2 style="PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: rgb(51,153,0) 6px solid; COLOR: rgb(0,0,0); PADDING-TOP: 2px; BORDER-BOTTOM: rgb(51,153,0) 1px solid">最後にまとめ</h2>

<p>　<span style="color: #000000;"><span style="BACKGROUND-COLOR: rgb(255,204,102)"><strong>実</strong></span></span>際にXMLのサンプルで見たように、「要素」の方が「属性」よりも断然便利である。もし今後、「要素」にするか「属性」にするか迷うことがあったら、<strong><span style="color: #ff0000;font-size: 1.2em;">「要素でGo！」</span></strong>と言いたい。</p></div>]]>
        
    </content>
</entry>

<entry>
    <title>ASP.NETでXMLする</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/01/post-2b40-1.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6646</id>

    <published>2009-01-23T08:00:00Z</published>
    <updated>2016-05-19T06:20:55Z</updated>

    <summary>　「コードが書きたい！」 ■とにかくコードが書きたい■ 　前回から引き続き、XM...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<p>　「コードが書きたい！」</p>

<p><strong>■とにかくコードが書きたい■</strong></p>

<p>　<a href="http://el.jibun.atmarkit.co.jp/hayashi/2009/01/post-2b40.html">前回</a>から引き続き、XMLの勉強を続けている。しかしいい加減、紙と鉛筆での勉強に飽きてきた。何だか無性にソースコードが書きたい気分なのである。</p>

<p><strong>■アプリケーションの種類■</strong></p>

<p>　まずはVisual Studioを起動させる。そして今回のアプリケーションの動作環境は、「ASP.NET」を選択した。もちろん「Windowsフォーム」や「コンソール」で作成してもかまわない。</p>

<p>　なぜ「ASP.NET」を選択したのか？ それは「試行錯誤」のしやすさを重視したから。</p>

<p><strong>■アプリケーション開発の「試行錯誤」のしやすさ■</strong></p>

<p>　「コンソール」「Windowsフォーム」「ASP.NET」の3種類を、独断と偏見でざっくりまとめてみた。</p>

<table cellspacing="3" cellpadding="3" border="1"><tbody><tr><th>アプリケーションの種類</th><th>メリット</th><th>デメリット</th></tr>

<tr><td>コンソール</td>

<td>シンプル。</td>

<td>文字しか表現できない。普通に実行すると一瞬で実行が完了してしまう。そこで、[Ctrl]+[F5]でデバッグ無しの実行をしたり、Console.Read()等で処理を止める必要がある。</td></tr>

<tr><td>Windowsフォーム</td>

<td>フォームデザイナが優秀。直感的にアプリを作成できる。</td>

<td>ソースコードを変更したい場合は、デバッグを中止し、リビルドをし、再実行する必要がある。</td></tr>

<tr><td>ASP.NET</td>

<td>ソースコードを変更したい場合、<strong><span style="color: #0000ff;">ソースを上書き保存し、ブラウザをリロードするだけ</span></strong>で反映される。</td>

<td>デザイナはWindowｓフォームほど直感的ではない。</td></tr></tbody></table>

<p>　「ASP.NET」は、コードビハインドを利用しなければ、ASPXファイル内のソースコードを変更後にリビルドが必要ない。ただASPXファイルを上書き保存して、ブラウザをリロードするだけでOKだ。</p>

<p><span style="font-size: 0.8em;">※「ASP.NET」の開発は、Visual Studio 2003まではIISが必要であり、少々敷居が高かった。しかし、Visual Studio 2005からは、ASP.NET開発用Webサーバが標準装備され、IISがなくても開発できるようになった。</span></p>

<p><strong>■XMLの整形式チェッカーを作成する■</strong></p>

<p>　今まで仕事では、<u>XMLを利用する</u>アプリケーションをいくつも作ってきた。しかし、<u>XMLそのもの</u>をテーマとするアプリケーションは、作成したことがなかった。そこで今回は、XMLそのものをテーマにしてみる。まずは基本から、ということで「XMLの整形式チェッカー」を作る。</p>

<p>　整形式についての説明は<a href="http://www.atmarkit.co.jp/aig/01xml/wellformed.html">こちら</a>。</p>

<p>　サンプルデータは<a href="http://www.atmarkit.co.jp/fxml/rensai2/xmlmaster04/master04.html">こちら</a>。</p>

<p><strong>[wellformed.aspx]</strong>　<a href="http://www.hayashi.dev-asp.net/sample/001/wellformed.aspx"><strong><span style="FONT-SIZE: 12px"><span style="font-size: 1.2em;">&gt;&gt;実行</span></span></strong></a><br /><textarea readonly="true" wrap="off" style="BORDER-RIGHT: rgb(0,0,0) 3px solid; BORDER-TOP: rgb(0,0,0) 3px solid; FONT-WEIGHT: bold; BORDER-LEFT: rgb(0,0,0) 3px solid; WIDTH: 100%; BORDER-BOTTOM: rgb(0,0,0) 3px solid; FONT-FAMILY: 'ＭＳ ゴシック'; HEIGHT: 400px; BACKGROUND-COLOR: rgb(255,232,216)">&lt;%@ Import Namespace=&quot;System.Xml&quot; %&gt;
&lt;%@ Import Namespace=&quot;System.IO&quot; %&gt;

&nbsp; &nbsp; protected void Button1_Click(object sender, EventArgs e)
&nbsp; &nbsp; {
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; try
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; {
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;using (TextReader txt = new StringReader(TextBox1.Text))
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;{
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; using (XmlReader xreader = XmlReader.Create(txt))
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; {
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; while (xreader.Read()) ;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Label1.Text = &quot;OK&quot;;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; Label2.Text = &quot;&quot;;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; }
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; catch (XmlException ex)
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; {
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Label1.Text = &quot;NG&quot;;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Label2.Text = ex.Message;
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }
&nbsp; &nbsp; }
</textarea> </p>

<p>　結果が「NG」の場合は、その原因をメッセージが親切丁寧（?）に教えてくれる。</p>

<p>　この次は、XMLの妥当性チェッカーを作ろう。</p>]]>
        
    </content>
</entry>

<entry>
    <title>XMLマスターになりたい</title>
    <link rel="alternate" type="text/html" href="https://el.jibun.atmarkit.co.jp/hayashi/2009/01/post-2b40.html" />
    <id>tag:el.jibun.atmarkit.co.jp,2009:/hayashi//76.6645</id>

    <published>2009-01-13T07:45:00Z</published>
    <updated>2016-05-19T06:20:55Z</updated>

    <summary>　ギリギリ（70％）   ■XMLマスターベーシックV2試験を受ける■ 　「XM...</summary>
    <author>
        <name>はやしさとし</name>
        
    </author>
    
        <category term="スキル" />
    
    
    <content type="html" xml:lang="ja" xml:base="https://el.jibun.atmarkit.co.jp/hayashi/">
        <![CDATA[<p>　ギリギリ（70％）</p>

<p><img title="Basic_2" height="400" alt="Basic_2" src="http://el.jibun.atmarkit.co.jp/hayashi/images/2009/01/13/basic_2.jpg" width="300" border="0" /> </p>

<p><span style="font-size: 1.2em;"><strong>■XMLマスターベーシックV2試験を受ける■</strong></span></p>

<p>　「XMLは仕事で使っているから<strong><span style="color: #0000ff;">大丈夫！</span></strong>」のはずだった。かなりヤバい。今回合格したのは運がよかっただけ。答えが分からず勘で答えた問題が、たまたま多く当たっていたのだろう。これでは不合格にも等しい。そういえば最近、実務ばかりで勉強をしていなかった。 一度きちっとXMLを勉強することが必要だ。</p>

<p><span style="font-size: 1.2em;"><strong>■教材を選ぶ■</strong></span></p>

<p>　本を買うべく「Amazon」へ。購入したのは、以下の2冊。</p>

<ul><li><a href="http://www.amazon.co.jp/dp/4886476597">XML問題集―理解を深める500問</a></li>

<li><a href="http://www.amazon.co.jp/dp/4886478247/">改訂 XML入門</a></li></ul>

<p>　なぜこの2冊だったかといえば、「XML問題集」が最短学習の黄金パターンにマッチした本だから。</p>

<p><span style="font-size: 1.2em;"><strong>■最短学習の黄金パターン■</strong></span></p>

<ol><li>教科書を読まず、いきなり問題集から解く</li>

<li>問題集は1冊ですべての学習テーマを網羅し、なるべく薄いものを使う</li></ol>

<p>　1の利点とは、学習テーマごとの重要ポイントをすばやく把握できること。もし、小学校の授業のように教科書の説明を読むことから学習を始めると、教科書に書いてあることすべてが重要に見えてくる。人間の集中力は長くは続かないので、教科書の説明を読むだけでけっこう疲れてしまう。これを問題集を先に解くことによって、重要ポイントを意識しながら説明文を読むことができる。すると、長ったらしい説明文でも、立体的に構造的に見えてくる。</p>

<p>　2の利点とは、繰り返しによる記憶の定着を図りやすいこと。学習のテーマは、それぞれ完全に独立したものではなく、お互いに関連し合っている。学習テーマ全体を1回でもこなすことによって、各学習テーマの理解がより深まる。分厚い問題集は、確かに買って安心感を得られるが、何より途中で挫折しやすい。また、本が分厚いため、左手で押さえながらの作業が結構しんどい。ちなみに「XML問題集」の厚さは、約1cmでちょうど良い。</p>

<p><span style="font-size: 1.2em;"><strong>■おまけ■</strong></span></p>

<p>　ところで、XML関連の本を調べているうちに、あることに気がついた。本のタイトルには「○○入門」とか「やさしい○○」とか、一定のパターンが存在するようだ。ならばと、売れそうな本のタイトルを合わせ技で考えてみた。例えば……</p>

<p>　<strong>「10日間でマスターする独習やさしいXML入門教室クイックリファレンスは絶対勉強するな」</strong></p>

<p>　売れるわけない（笑）</p>]]>
        <![CDATA[<p></p>]]>
    </content>
</entry>

</feed>
