[解決済み】XML属性とXML要素
2022-04-15 22:42:35
質問
仕事では、データを別のオフラインアプリケーションに渡すためにXMLファイルを作成するよう求められており、その後、データの一部を更新するために、2番目のXMLファイルを作成して送り返します。このプロセスでは、XML ファイルの構造について、他のアプリケーションのチームと議論しています。
私が考え出したサンプルは、基本的に次のようなものです。
<INVENTORY>
<ITEM serialNumber="something" location="something" barcode="something">
<TYPE modelNumber="something" vendor="something"/>
</ITEM>
</INVENTORY>
他のチームからは、これは業界標準ではないので、属性はメタデータにのみ使用するべきだという意見が出ました。彼らはこう提案しました。
<INVENTORY>
<ITEM>
<SERIALNUMBER>something</SERIALNUMBER>
<LOCATION>something</LOCATION>
<BARCODE>something</BARCODE>
<TYPE>
<MODELNUMBER>something</MODELNUMBER>
<VENDOR>something</VENDOR>
</TYPE>
</ITEM>
</INVENTORY>
前者を提案した理由は、作成されるファイルのサイズがずっと小さいからです。転送中にファイルに含まれるアイテムはおよそ80000個になります。現実には、彼らの提案は、私が提案したものより3倍も大きいことが判明しました。この謎のquot;Industry Standard"を検索してみましたが、XML属性はメタデータにのみ使用されるべきで、実際のメタデータは何かについて議論されている、というのが最も近い内容でした。
長々と説明した後(すみません)、何がメタデータなのか、XML文書の構造を設計するとき、属性と要素の使い分けはどのように判断すればいいのでしょうか。
どのように解決するのか?
私はこの経験則を利用しています。
- 属性とは、色、ID、名前など、自己完結しているものです。
- 要素は、それ自身の属性を持つか、または他の要素を含むことができるものです。
では、あなたのは近いですね。私ならこんな風にします。
EDIT : 以下のフィードバックに基づき、元の例を更新しました。
<ITEM serialNumber="something">
<BARCODE encoding="Code39">something</BARCODE>
<LOCATION>XYX</LOCATION>
<TYPE modelNumber="something">
<VENDOR>YYZ</VENDOR>
</TYPE>
</ITEM>
関連
-
[解決済み】JSF Faceletsのページを開くと、"このXMLファイルにはスタイル情報が関連付けられていないようです。"と表示される。
-
[解決済み] XMLファイルを別のXMLファイルに取り込むことはできますか?
-
[解決済み] ウェブサービスのレスポンスにおけるtext/xmlとapplication/xmlの違いは何ですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] XMLの<![CDATA[]]>は何を意味するのですか?
-
[解決済み] XMLを解析して、特定のノード属性のインスタンスをカウントするには?
-
[解決済み] XML文書でエスケープする必要がある文字は何ですか?
-
[解決済み] XMLでタグのブロックをコメントアウトするにはどうすればよいですか?
-
[解決済み] XMLを用いたカスタムandroid UI要素の宣言
-
[解決済み】XML Schema minOccurs / maxOccurs デフォルト値
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン