0

これは、ややばかげたビジネス ルールの制限により、私が直面している問題に対する非常に複雑な解決策になる可能性があります。

フォームの中央リポジトリとなるはずの共有ポイント サイトがあります。したがって、ドキュメント ライブラリにこれらのフォームがあります。唯一の問題は、すべてのフォームがそこにあるわけではなく、いくつかの infopath フォームが別の場所でホストされており、一部の「フォーム」が実際には他の Web ページであることです。そのため、フォーム名で設定されたリストと、そのフォームの場所の URL を格納する列 (ローカル ライブラリに含まれるフォーム) がありますが、sharepoint には、255 文字、1 行の URL 列の種類にとんでもない制限があります。 of text にも同じ愚かな制限があるため、列を複数行のテキスト フィールドとして作成しました。一部の infopath フォームの URL はかなり長いため、255 文字以上が必要です。これで、データフォーム Web パーツのデータソースはリストになりました。

<ul><a href="{@FormLocation}" target="_blank">
<xsl:value-of select="@Title" /></a></ul></td>

これは、テキストを取得してハイパーリンクとしてフォーマットするセクションです。@FormLocation は、テキスト URL を含む列です。@Title はフォームのタイトルです。

何が起こるかというと、レンダリングされた HTML に必要な URL が入力されますが、次のようなプレフィックスが付いています。

http://MYSITESSANITISEDURL.za/en/prettysanitary/Documents/%3Cdiv%20class=%22ExternalClassDF5DF9081DE54EECB4500A4E7B5592A1%22%3E%3Cdiv%3E%3Ca%20href=%22

次に、必要なテキストが配置され、接尾辞が付けられます

</a></div></div>

挿入されるプレフィックスは、実際には Web パーツがあるページの場所です。

誰かが理由を知っていますか

<a href="{@FormLocation}" target="_blank">

その @FormLocation 列に実際にあるもの以上のものを引き出しますか?

私は非常に SharePoint に慣れていません。ここにいる 5 人の SharePoint の「第一人者」はまったく知りません。

4

1 に答える 1

0

<xsl:copy-of select="*|@*" \> を使用して、その列の XML コンテンツを確認します。次に、 xsl:value-of で xsl:attribute を使用して FormLocation 表示をエスケープ/非エスケープする必要があるでしょう。

于 2012-05-10T13:02:08.137 に答える