この記事は新社会人のSalesforce学習記録とその他 Advent Calendar 2025のだいたい18日目くらいの記事です。
lwcを作成するときにhtmlとかと一緒にくっついてるxmlとかいうものについて学習していきます。
xmlとは

一番下のやつです。
どんな情報が入っているのかを、機械がわかるようにするために必要なものです。
Extensible Markup Languageの略で、htmlのようにタグで囲むマークアップ言語です。
で、そんなものがSalesforceのLWCにくっついてきています。Visualstudio CodeでLWCを作ると勝手についてきます。
SalesforceでLWCを使用するためにはこのXMLをちょっといじって使用可能な状態にしないとLightningアプリケーションビルダーでコンポーネントとして認識してくれません。
XMLの書き方
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>59.0</apiVersion>
<isExposed>true</isExposed>
<targets>
<target>lightning__HomePage</target>
<target>lightning__AppPage</target>
<target>lightning__RecordPage</target>
</targets>
</LightningComponentBundle>
11日目に使ったLWCを使用します。1行目から見ていきます。
<?xml version="1.0" encoding="UTF-8"?>
xmlのバージョンと文字コードの指定を行っています。
今回は1.0ですが、他には1.1のみで2種類しかないようです。1.1では使える文字が増えるなどしているようですが、1.0が最もメジャーらしいです。
ところでタグに?がついていますが、これはファイル全体をどのように扱うかについて定義するときに必要なようです。
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>59.0</apiVersion>
<isExposed>true</isExposed>
これについてはSalesforce独自のものになります。一つ目はLWCであることを示すもので、LightningComponentBundleになります。
2行目のapiVersionではその名の通りapiのバージョンを表します。
LWCには毎期アップデートがされており、そのバージョンになります。apiとか書いてますが、要するにLWCのバージョンのことです。
ちなみに今作ると65.0になります。
3行目のisExposedについては拡張機能があるかどうかを表します。今回は使っているのでtrueにしています。
使用していない場合、xmlはこれで終わりです。
<targets>
<target>lightning__HomePage</target>
<target>lightning__AppPage</target>
<target>lightning__RecordPage</target>
</targets>
targetタグになります。これもsalesforce限定っぽいです。
Lightning アプリケーションビルダー等でコンポーネントとして使用できるようにするために必要です。
タグに設定しているlightning_HomePageやlightning_AppPageは設定できるページを表しています。
今回の場合、
・ホーム
・アプリケーションのページ
・レコードの詳細ページ
で使用できるみたいです。

表示される名前はLWC直下の自分でつけたLWCの名前になります。(今回はstudy1211になります)
まとめ
xmlはどんな情報が入っているかを伝えるために必要なもの