改変した3DS_JP.zip内の3DS_JP.xmlを例に解説。

xml宣言
 <?xml version="1.0" encoding="Shift_JIS" standalone="no"?>
 <dat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="datas.xsd">
DAT定義
 <configuration>
  <datName>任天堂3DS</datName>
  <imFolder>任天堂 3DS</imFolder>
  <datVersion>9999</datVersion>
  <system>任天堂 3DS</system>
  <screenshotsWidth>268</screenshotsWidth>
  <screenshotsHeight>240</screenshotsHeight>
情報
  <infos>
  <title visible="false" inNamingOption="true" default="false"/>
  <location visible="false" inNamingOption="true" default="true"/>
  <languages visible="false" inNamingOption="true" default="true"/>
  <romCRC visible="true" inNamingOption="true" default="true"/>
  <publisher visible="true" inNamingOption="true" default="true"/>
  <sourceRom visible="true" inNamingOption="true" default="true"/>
  <comment visible="true" inNamingOption="true" default="true"/>
  <saveType visible="true" inNamingOption="true" default="false"/>
  <romSize visible="true" inNamingOption="false" default="false"/>
  <releaseNumber visible="true" inNamingOption="true" default="false"/>
  <languageNumber visible="false" inNamingOption="true" default="false"/>
  <im1CRC visible="false" inNamingOption="false" default="false"/>
  <im2CRC visible="false" inNamingOption="false" default="false"/>
 </infos>
拡張子
 <canOpen>
 <extension>.3ds</extension>
 </canOpen>

更新
 <newDat>
 <datVersionURL>
   http://www.advanscene.com/offline/version/ADVANsCEne_3DS.txt
 </datVersionURL>
 <datURL fileName="ADVANsCEne_3DS.zip">
   http://www.advanscene.com/offline/datas/ADVANsCEne_3DS.zip
 </datURL>
 <imURL>
   http://www.advanscene.com/offline/imgs/ADVANsCEne_3DS/
 </imURL>
 </newDat>

検索
 <search>
 <to value="location" default="true" auto="true"/>
 <to value="romSize" default="true" auto="false">
  <find operation="=" value="134217728">1024Mbits</find>
  <find operation="=" value="268435456">2048Mbits</find>
  <find operation="=" value="536870912">4096Mbits</find>
  <find operation="=" value="1073741824">8192Mbits</find>
  <find operation="=" value="2147483646">16384Mbits</find>
  <find operation="=" value="2147483647">32768Mbits</find>
 </to>
 <to value="languages" default="true" auto="true"/>
 <to value="saveType" default="false" auto="false">
  <find operation="inNoCase" value="TBC">TBC</find>
 </to>
 <to value="publisher" default="false" auto="false"/>
 <to value="sourceRom" default="false" auto="false"/>
 </search>
タイトル表示
 <romTitle>%s - %n %o%m</romTitle>
 </configuration>
ゲーム情報
 <games>
  <game>
   <imageNumber>25</imageNumber>
   <releaseNumber>25</releaseNumber>
   <title>リッジレーサー3D</title>
   <saveType>25</saveType>
   <romSize>1073741824</romSize>
   <publisher>バンダイナムコエンターテインメント</publisher>
   <location>7</location>
   <sourceRom>CONTRAST</sourceRom>
   <language>256</language>
   <files>
    <romCRC extension=".3ds">21923234</romCRC>
   </files>
   <im1CRC>E6233100</im1CRC>
   <im2CRC>4CA754CF</im2CRC>
   <comment>Ridge.Racer.3D.JPN.3DS-CONTRAST </comment>
   <duplicateID>5</duplicateID>
  </game>
 </games>
画像
 <gui>
 <images width="475" height="242">
 <image x="0" y="0" width="268" height="240"/>
 <image x="273" y="0" width="200" height="240"/>
 </images>
 </gui>
 </dat>
の9項目に分けて解説。
----

&aname(declaration){xml宣言};
 <?xml version="1.0" encoding="Shift_JIS" standalone="no"?>
 <dat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="datas.xsd">
 xmlファイルのお約束。
 特に変更する箇所はなし。
&br;
&aname(definition){DAT定義};
 <configuration>
  <datName>任天堂3DS</datName>
  <imFolder>任天堂 3DS</imFolder>
  <datVersion>9999</datVersion>
  <system>任天堂 3DS</system>
  <screenshotsWidth>268</screenshotsWidth>
  <screenshotsHeight>240</screenshotsHeight>

-datName:DATの名称。
#ref(d_name.PNG)
-imFolder:画像ファイルのフォルダ名(offlinelist/img/内に作成)
-datVersion:このDATファイルのバージョン。詳しくは&[[更新>#update]]で。
-system:DATファイルを対象とする機種の名称
-screenshotsWidth&screenshotsHeight
取り扱う画像ファイルの大きさ(Width=横、Height=縦のピクセル数)の指定...らしいけど、どうでもいい。
画像の設定は[[画像>#image]]で。

&br;
&aname(info){情報};
  <infos>
  <title visible="&color(Red){false};" inNamingOption="&color(Red){true};" default="&color(Red){false};"/>
  <location visible="false" inNamingOption="true" default="true"/>
  <languages visible="false" inNamingOption="true" default="true"/>
  <romCRC visible="true" inNamingOption="true" default="true"/>
  <publisher visible="true" inNamingOption="true" default="true"/>
  <sourceRom visible="true" inNamingOption="true" default="true"/>
  <comment visible="true" inNamingOption="true" default="true"/>
  <saveType visible="true" inNamingOption="true" default="false"/>
  <romSize visible="true" inNamingOption="false" default="false"/>
  <releaseNumber visible="true" inNamingOption="true" default="false"/>
  <languageNumber visible="false" inNamingOption="true" default="false"/>
  <im1CRC visible="false" inNamingOption="false" default="false"/>
  <im2CRC visible="false" inNamingOption="false" default="false"/>
 </infos>
infoタブ内ソフトの情報の表示(true)/非表示(false)の指定。
visible:右側の情報に表示するか否か。
inNamingOption:左側のタイトル部分に表示するか否か。
default:初期設定で有効にするか否か。(visible/inNamingOptionのがtrueでないと無意味)
-title:ソフト(rom)の名称
-location:国(地域)
-languages:言語
-romCRC:romのCRC32
-publisher:販売元
-sourceRom:romの公開元
-comment:コメント
-saveType:セーブの種類、方法
-romSize:romの容量(ただし値は2^10の数値で表示、昨今は10^3が使われていることもあり)
-releaseNumber:romのNo.(公開順?)
-languageNumber:言語の数
-im1CRC:画像aのCRC32
-im2CRC:画像bのCRC32

&br;
&aname(extension){拡張子};
 <canOpen>
 <extension>.3ds</extension>
 </canOpen>
romの拡張子の指定。

&br;
&aname(update){更新};
 <newDat>
 <datVersionURL>
   http://www.advanscene.com/offline/version/ADVANsCEne_3DS.txt
 </datVersionURL>
 <datURL fileName="ADVANsCEne_3DS.zip">
   http://www.advanscene.com/offline/datas/ADVANsCEne_3DS.zip
 </datURL>
 <imURL>
   http://www.advanscene.com/offline/imgs/ADVANsCEne_3DS/
 </imURL>
 </newDat>
-datVersionURL:更新先のDATファイルのバージョンが書かれたtxtファイルの場所。
txtファイルにはただVer.の数値だけが書かれていれば良い。(小数点付数字はNG)
#ref(update.PNG)
アップデートの時に、この数値とdatVersionの数値を比べtxtの方が大きければDATファイルを更新する。
個人的にはVer.No.ではなく、作成日にすると管理が楽。(例:211128 ←21年11月28日)
-datURL fileName="&color(Red){ADVANsCEne_3DS.zip};":アップデートでダウンロードするDATファイルの名前。&その場所。
-imURL:画像ファイルの場所、画像ファイルはここからダウンロードする。
このアドレスの先に「1-500」などの500毎のフォルダがありその先に1a.png、1b.pngといった画像ファイルを作成者は用意する。

各ファイルのURLは「https」は暗号化されているためかNG。
ホームページのアドレスが「https」ならば「http」に変える事。
&br;
&aname(search){検索};
 <search>
 <to value="location" default="true" auto="true"/>
 <to value="romSize" default="true" auto="false">
  <find operation="=" value="134217728">1024Mbits</find>
  <find operation="=" value="268435456">2048Mbits</find>
  <find operation="=" value="536870912">4096Mbits</find>
  <find operation="=" value="1073741824">8192Mbits</find>
  <find operation="=" value="2147483646">16384Mbits</find>
  <find operation="=" value="2147483647">32768Mbits</find>
 </to>
 <to value="languages" default="true" auto="true"/>
 <to value="saveType" default="false" auto="false">
  <find operation="inNoCase" value="TBC">TBC</find>
 </to>
 <to value="publisher" default="false" auto="false"/>
 <to value="sourceRom" default="false" auto="false"/>
 </search>
検索用の各項目のプルダウンメニューを表示するか否か。

&br;
&aname(vtitle){タイトル表示};
 <romTitle>%s - %n %o%m</romTitle>
 </configuration>
#ref(off_o4.PNG)

&br;
&aname(gameinfo){ゲーム情報};
 <games>
  <game>
   <imageNumber>25</imageNumber>
   <releaseNumber>25</releaseNumber>
   <title>リッジレーサー3D</title>
   <saveType>25</saveType>
   <romSize>1073741824</romSize>
   <publisher>バンダイナムコエンターテインメント</publisher>
   <location>7</location>
   <sourceRom>CONTRAST</sourceRom>
   <language>256</language>
   <files>
    <romCRC extension=".3ds">21923234</romCRC>
   </files>
   <im1CRC>E6233100</im1CRC>
   <im2CRC>4CA754CF</im2CRC>
   <comment>Ridge.Racer.3D.JPN.3DS-CONTRAST </comment>
   <duplicateID>5</duplicateID>
  </game>
 </games>
ソフト(rom)の情報を記載する。
-imageNumber:対応する画像の番号。この場合25なので25a.png、25b.pngがあれば表示。
-releaseNumber:romのNo.(公開順?)、数字以外はNG。
-title:ソフト(rom)の名称。
使えない文字があるので注意!「&」など。[[詳細:https://www.milk-island.net/document/xml/kihon/g3/]]
-saveType:セーブの種類、方法。
英字も使えるので、大抵ここにrom No.を指定することも。
X番台=デモ、配布、機種専用rom(new3DS専用)
e番台=eshop専用
-romSize:romの容量
-publisher:販売元
-location:国(地域)
-sourceRom:romの公開元
-language:言語の数
-romCRC extension=".3ds":romの拡張子&CRC32の値。
どれかと被ってもNG、ケタ数が多くてもNG。
CRCの値は''&color(Red){解凍されたromの値};''。圧縮された状態では無い。
-im1CRC:画像aのCRC32の値。
-im2CRC:画像bのCRC32の値。
-comment:コメント。
-[[duplicateID]]:Rev違いなど同名タイトルにつける番号。

&br;
&aname(image){画像};
 <gui>
 <images width="475" height="242">
 <image x="0" y="0" width="268" height="240"/>
 <image x="273" y="0" width="200" height="240"/>
 </images>
 </gui>
 </dat>
-images width="&color(Red){475};" height="&color(Red){242"};:画像の表示領域の確保。
上記例だと数値は
475=268(画像aの横幅)+5(画像aとbの間の隙間)+200(bの横幅)+2(bの右側の隙間)
242=240(画像ab縦幅)+2(画像下の隙間)
-image x="&color(Red){0};" y="&color(Red){0};" width="&color(Red){268};" height="&color(Red){240};:画像aの配置場所の指定&確保。
x="0" y="0"で配置場所の左上頂点座標を指定。
(xの値UP:値のピクセル数分右に、yの値UP:値のピクセル数分下に)
width="268" height="240"で画像aの表示する枠を指定。(画像aの大きさ)
(指定した枠以上の画像も扱えるが、その際は指定した大きさの分しか表示しない)
-image x="&color(Red){273};" y="&color(Red){0};" width="&color(Red){200};" height="&color(Red){240};":画像bの配置場所の指定&確保。(詳細は画像aと同じ)
273=268(画像aの横幅)+5(aとbの間の隙間)