問題タブ [altova]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - MEF DirectoryCatalogは、ロード時にプロジェクト参照をオーバーライドしません
私は次のようなインターフェースを持っています:
今、私は2つのクラスを持っています:
と
別のプロジェクトProjectXYZ(サードパーティツール(Altova Mapforce 2012 SP1)によって自動生成されたもの)があります。
altova mapforce 2012からのProjectAカスタマイズされた自動生成コードの場合:
altova mapforce 2012から自動生成されたProjectBのカスタマイズされたコードの場合:
サードパーティの自動生成コードはエクスポートされませんが、ProjectA.TransformとProjectB.Transformの参照として使用したバイナリです。したがって、MEFのCompositionContainerでProjectA.TransformとProjectB.Transformのすべてのバイナリをロードするために[DirectoryCatalog]を使用しています。各プロジェクトがコンパイルされ、それらのバイナリ(ビルド出力)の場所がDirectoryCatalogへの入力として提供されます
さらなる構成のために。
ProjectA.TransformはProjectXYZ.ClassAを使用しますが、ProjectB.TransformはProjectXYZの別の実装からのProjectXYZ.ClassBを使用します。実装とクラス
ProjectXYZの機能は、ITransformの実装ごとに異なります。ProjectXYZのクラスは、いくつかのサードパーティツールを介して自動的に生成されます。
直接使用する必要があります。そのため、ProjectXYZに変更を加えることはできません。
したがって、MEFが初めてProjectA.Transformをロードするときに、ProjectAの参照として使用されるProjectXYZもロードします。ProjectB.Transformがロード/エクスポートされるとき、
次に、ProjectXYZアセンブリはすでにMEFメモリにあるため、「C:\ ProjectDemo \ ProjectA.Transform \ Bin\Debug」から入手できるProjectXYZアセンブリ参照を使用します。したがって、ProjectB.Transformの実行中は、 「C:\ ProjectDemo \ ProjectB.Transform \ Bin \ Debug」からProjectXYZアセンブリを検索します。これは、MEFが「C:\ProjectDemo\」で利用可能なProjectXYZアセンブリ参照をロードしているため取得されません。 ProjectA.Transform \ Bin\Debug"。
この問題を解決する方法。MEFはパーツを正しくロードしますが、サポートするdllの参照を目的の方法でロードしません。私も試しました
PartCreationPolicy属性ですが、結果は同じです。
xsl-fo - Altova XMLSpy での XSL:FO 変換
Altova XMLSpy を Apache FOP にマッピングして XSL:FO 変換 ([ツール] -> [オプション] -> [XSL] -> [選択した fop.bat]) を行い、以下のように単純な HelloWorld 出力を作成し、XSL:FO を PDF 出力に変換しようとしました。しかし、XMLSpy は「一時ファイルを作成できませんでした!アクセスが拒否されました」というエラーをスローしました。このエラーが発生する理由と解決方法を教えてください。
xslt - XSLT 2.0 でエラーが発生する: 「コンテキスト項目は未定義です」
XSLT 2.0 ファイルを生成する Altova Stylevision を使用しています。これらの XSLT ファイルを実行するには、Saxon 9 for Java を使用します。これは数年間うまく機能してきましたが、悲しいかな、XSLT を実際に理解している人は誰もいません。
エラーが発生しました:
9番目の関数は次のとおりです。
何が起こっているのか誰にも分かりませんか?
xml-serialization - Altova XMLSpy 2012 で生成されたコード (バージョン 2007r3) で名前空間プレフィックス付きタグを追加
どうやら Altova XMLSpy 2012 sp1 のコード ジェネレーターの最新バージョンにバグがあり、タグ名前空間プレフィックスを使用する XML ファイルを操作すると、生成された XML にプレフィックスがないことがわかります。さまざまなバージョンを試してみて、その問題の修正を見つけた後、基本的に次のメソッドの内容を置き換える必要があります (typebase.cs の 110 行目):
と
それは魔法を行うはずです。
誰かがこれを確認できますか?
注: Altova がサポート フォーラムを閉鎖し、電子メールでの問い合わせに応答していないように見えるため、ここに投稿しています...
よろしく、これが誰かに役立つことを願っています。
ヴラックス
xml - パラメーターを使用する前に XSLT にパラメーターが存在するかどうかを確認する
パラメータ $test が存在するかどうかを調べるために XPATH を使用しています。私は ALtova Stylevision で XPATH ビルダーを使用しており、
exists ( $blah)
またはのようなものを使用できると考えていましたがexists ( string($blah) )
、これは
" Undefined variable in expression test="exists( string( $blah) )""
問題は、パラメーターが存在する場合と存在しない場合があることです。空白のパラメーターをハードコードする必要はありません。
使用する前に「パラメーター XXXX が存在するかどうかを確認してください」と言う方法はありますか? 他のほとんどすべてのプログラミング言語でこれを行う方法を知っているので、イライラします
パラメータの定義:
<xsl:param name="blah"> some text </xsl:param>
これらのパラメータは、別のファイル「parameters.xslt」から読み込まれます。このファイルは、シナリオによって存在する場合と存在しない場合があります。使用する前に、パラメーターが実際に存在することを確認する必要があります。
xml - AltovaStylevisionを使用してXMLから変数の値を設定します
AltovaStyleVisionからSPSファイルを作成しています。XMLファイルから値を取得して、PDFレポートに表示される変数の値を設定したいと思います。
altova - Altova mapforce 文字列日付から DateTime
他の誰かが Altova Mapforce を使用してくれることを願っています。
XSLT を使用して 1 つの xml を別の xml に変換すると、ソース XML では日付が M/D/YYYY になっているため、それらを標準の日時形式に変換する必要があります。
それで、私は XSLT のトークナイズ機能を使用して分割/パーツを取得して遊んでいます。今、パート 1 を取り、その日だと言いたいのですが、トークナイズ式の結果を変数に割り当てる方法がわかりませんマップフォース。
他の誰かがこれをしますか?むしろ、文字列の日付を日時に変換する最良の方法は何ですか?
アイデアをありがとう
編集。私の入力は文字列 '1/31/2012' で、出力は xs:dateTime (または xs:date を dateTime に簡単に変換できると仮定すると、xs:date) である必要があります。
文字列を連結して YYYY-MM-DD 形式に変換するメソッドをセットアップしましたが、これは dateTime に対して無効であるとまだ報告されています (キャストに失敗しました、無効な字句値 2012-1-31)。
おそらく、YYYY-MM-DD は dateTime の有効な形式ではありませんか?
altova - テキストファイル-altovamapforceを使用した列への行
Altova MapForceのみを使用して、コンマ区切りのテキストファイルを行区切りのテキストファイルに変換するにはどうすればよいですか。MapForce concat関数に「enter」を入れる方法はありますか?
distinct - XPath 2.0: 現在のノードの値を持つ最初の要素の前に、個別の要素の数を見つける
セットアップ: XPath 2.0 を使用しています。ただし、Altova Stylevision 内では、後で私のコメントを参照してください。
次の XML 構造を取得しました。
I ファイルを解析するとき、ブロブが出現するたびに知りたいと思います。現在のノードと同じ値を持つブロブが最初に出現する前に、ブロブの個別の値がいくつあるか。
したがって、基本的には、最初に現在のノードと同じ値を持つ blub が最初に出現した場所を特定し、それから前の個別の blub の数を計算します。
私の問題の 1 つは、Altova が current() 関数をサポートしていないことです。引用: 「current() 関数は XPath 関数ではなく XSLT 関数であるため、StyleVision の自動計算および条件付きテンプレートでは使用できないことに注意してください。式で現在のノードを選択するには、XPath 2.0 の for 式を使用します。 "
したがって、 current() 関数なしで実行できるソリューションはどれも素晴らしいでしょう;)
皆さんありがとう!
ステボ
c# - AltovaMapForceで生成されたXSLTファイルを使用する場合のXslCompiledTransform例外
.NETのXslCompiledTransformを使用してXSLT変換を実行しています。AltovaのMapForceツールを使用して自動的に生成したXSLTファイルを使用しようとすると、例外が発生します。
XSLスタイルシート定義から:
... AltovaはXSLTに対して独自の拡張関数を定義しているようで、XslCompiledTransformはそれらを見つける方法を知りません。XslCompiledTransformにこれらの外部関数を認識させるにはどうすればよいですか?