2011-11-10 11 views
2

XMLの名前空間(xmlns = "...")が何であるか、また、E4X(..preferrablyly ActionScript 3)を使ってXMLをナビゲートするためにXMLをどのように使用すればよいか教えてください。XML、namespace、E4X

私はその目的と使用方法を完全に理解していません。

答えて

1

理論的には、XML名前空間はタグ名との競合を避けるために使用されます。だから私は "mytag"という名前のタグを含む名前空間を作成することができ、他の誰かが同じタグ "mytag"で別の名前空間を作成し、矛盾はありません。各「mytag」タグは明確に区別されます。

実際には、XML名前空間はほとんど役に立たないことがわかりました(同じXMLファイルのタグを作成する2人の開発者はどれくらいですか?)。

EX4では、名前空間を取得し、各タグにその名前空間を接頭辞として付ける必要があります。あなたが書きます<somenamespace::somename>タグにアクセスしたいのであれば、例えば、:

var somenamespace:Namespace = xml.namespace("somenamespace"); 
var sometag:XML = somenamespace::somename[0]; 

をGoogleで検索する場合は、あなたが簡単にパースにするためにXMLからこれらの無用の名前空間を削除するいくつかのAS3クラスを見つけることができます。

+0

- 私は私のノード内のデータにアクセスすることができませんでした、なぜ今それが明確に!ありがとうございました! – Mat

+0

各XMLドキュメントには、プレフィックスのない名前空間が存在することに注意してください。 XSDファイルを使用して検証できる十分に異なるXML構造で作業していて、XSDファイル(たとえばMathMLの場合)を変更できない場合は、XMLを「拡張する」唯一の方法は、あなたが所有している別の名前空間。 (各XSDは、そのような拡張が許可されている場所を定義することができます。たとえば、AIR SDKで使用されるアプリXMLファイルでは許可されません) – karfau

1

多くの人々が明確なの一つとして、James Clark氏の説明にポイント:大丈夫

http://www.jclark.com/xml/xmlns.htm

+0

本当に良い読書です、ありがとう! – Mat

関連する問題