open laszloをアップグレードするときに、このような欠陥に遭遇した人がいることを知りたいです。
The tag xxx cannot be used as a child of view
The tag xxx cannot be used as a child of class
なぜこのエラーが発生するのですか?何か案が?
open laszloをアップグレードするときに、このような欠陥に遭遇した人がいることを知りたいです。
The tag xxx cannot be used as a child of view
The tag xxx cannot be used as a child of class
なぜこのエラーが発生するのですか?何か案が?
エラー メッセージxxx cannot be used as a child yyy of view は、単にタグ内でタグを使用しており、子タグが不明であることを意味します。簡単な例:
<canvas debug="true">
<view width="100" height="100" bgcolor="red">
<unknown_tag />
</view>
</canvas>
コンパイラ エラー メッセージ: class_tag_error.lzx:4:48: タグ 'unknown_tag' はビュー class_tag_error.lzx:5:20 の子として使用できません: 不明なタグ
4.0 から 4.2 にアップグレードする際に、同様の問題を抱えた人がいたことを覚えています。これは、laszlo-dev メーリング リストでの議論です。コード内の標準の OpenLaszlo タグが問題の原因なのか、それとも追加したカスタム クラスまたはタグが原因なのか?
OpenLaszlo コンパイラが認識するすべてのクラスとタグのスキーマ ファイルがあり、次の場所にあります。
$LPS_HOME/WEB-INF/lps/schema/build/lfc.xml
組み込みの LZX タグについてコンパイラが文句を言う場合、最後の手段として、使用している OpenLaszlo バージョンにその特定のタグのクラス定義がまだ存在するかどうか、そのファイルをチェックすることができます。たとえば、<view> タグのクラス/インターフェイス定義の冒頭は次のとおりです。
<interface extends="node" jsname="LzView" name="view">
<method args="who, self, prop, refView" name="$lzc$getAttributeRelative_dependencies"/>
<method args="who, self" name="$lzc$getBounds_dependencies"/>
<method args="who, self" name="$lzc$getCurrentTime_dependencies"/>
<method args="ignore" name="$lzc$getMouse_dependencies"/>
<method args="who, self" name="$lzc$getTotalTime_dependencies"/>
<method args="ignore" name="$lzc$isMouseOver_dependencies"/>
... (continued)
ただし、タグがまだ存在するかどうかを確認するには、これは間違いなく快適な方法ではありません。