i-UR2.0のXMLスキーマを参照した処理でのuroタグの出現順序について

120 views
Skip to first unread message

OH

unread,
Jul 27, 2022, 10:37:33 PM7/27/22
to FMEユーザーフォーラム
お世話になっております。
国交省製品仕様書v2.Xに準拠した3D都市モデルの作成を試みております。

以下の設定で、i-UR2.0に準拠した属性を付与しようと処理をしておりますが、
uroタグの出現順序が期待通りになりません。
タグの出現順序は参照しているスキーマに従うものだと認識おりましたが、別途設定が必要でしょうか?もしくは、設定に誤りがありますでしょうか?

(設定)
①CityGMLライター>Additional ADE Schema File(s) でurbanObject.xsdを選択
②CityGMLのパラメータ>GML Schema Options>[Application Domain Extension]:Other、[ADE Schema File]:「urbanObject.xsd」を選択
③AttributeManagerで、FMEで指定された属性名にrename

上記設定で作成されたCityGMLのuroタグの順序は下の画像のようになりますが、
製品仕様書やスキーマに合わせて、buildingIDAttribute、buildingDetailAttribute、largeCustomerFacilityAttribute、buildingDisasterRiskAttribute、keyValuePairAttribute、buildingDataQualityAttributeの出現順序としたいです。

キャプチャ_uroタグの出現順序.PNG

以上、ご教示いただけますと幸いです。
よろしくお願いいたします。

Takashi Iijima

unread,
Aug 3, 2022, 2:37:28 AM8/3/22
to FMEユーザーフォーラム
XMLスキーマにおいて、buildingIDAttribute, buildingDetailAttribute, largeCustomerFacilityAttribute などは、すべて CityGML の bldg:_GenericApplicationPropertyOfAbstractBuilding の substitutionGroup(代替グループ)として定義されています。
つまり、XMLスキーマ上ではすべて同列の要素であって、XML文書における記述順は既定されていません。
それらのタグの出現順はXMLスキーマで規定されていないため、FMEのCityGMLライターは適当(おそらくアルファベット順)に並べるのではないかと思います。
出来上がったXML文書はXMLスキーマに照らして妥当なものなので、順番を気にすることはありません。
標準製品仕様書で説明されている順番にタグの出現順を合わせたい場合には、XMLTemplaterなどのXMLトランスフォーマーによってuroタグの部分を組み立てて、CityGMLライターが出力したXML文書の適当な場所に挿入するという方法はあります。

2022年7月28日木曜日 11:37:33 UTC+9 OH:
Reply all
Reply to author
Forward
0 new messages