編集:あなたの本当の質問を理解した後、答えはずっと簡単です:
値linkAttributes
を一重引用符で囲む必要があります。linkAttributes
通常、内部のスペースそうでない場合は、でエスケープし%20
ます。
さらに何かが必要な場合や、標準で処理されないものが必要な場合は、いつでも独自の TCDL タグを作成し、 ortcdl:ComponentLink
を使用して実行できることを覚えておいてください(ドキュメントで例を参照するか、Jaime の記事を検索してください)。まさにあなたが望むもの。TagHandler
TagRenderer
TagRenderer
私の最初の回答は、あなたが尋ねなかった質問に対するものでした: TCDL タグの形式は (一般的に) は何ですか。しかし、説明はまだ一部の人にとっては役立つかもしれないので、以下に残します.
デフォルトのビルディング ブロック (デフォルトの終了アクションのリンク リゾルバー TBB など) が出力する形式を確認し、それをガイドラインとして使用することをお勧めします。
これは、公開されたページのトランスポート パッケージからすぐに取得できたものです。
<tcdl:Link type="Page" origin="tcm:5-199-64" destination="tcm:5-206-64"
templateURI="tcm:0-0-0" linkAttributes="" textOnFail="true"
addAnchor="" variantId="">Home</tcdl:Link>
<tcdl:ComponentPresentation type="Embedded" componentURI="tcm:5-69"
templateURI="tcm:5-133-32">
<span>
...
私が経験から知っていることの 1 つは、TCDL タグ全体を 1 行で記述する必要があることです (上の行は、読みやすくするために折り返しています)。または、少なくとも REL TagRenderer を呼び出すために使用される場合はそうです。tcdl:ComponentPresentation
上記のタグは明らかに複数の行にまたがるため、「1 行のルール」がどこにも適用されるわけではありません。
これがおそらく最善のアドバイスです。TCDL タグは Tridion の発行、展開、および配信パイプラインの複数のポイントで処理されるという事実を考えると、デフォルトの TBB が出力する形式に固執します。そして、次のように思われる私のサンプルから:すべてを1行に入れ、値を(二重)引用符で囲みます。