2012-03-21 3 views
2

私はサンドキャッスルを使用してWebサービスAPIで文書化し、要約とトップレベルのネームスペースへの注記プロジェクトにsandcastle.xmlファイルを追加しました。サンドキャッスルのドキュメントキャリッジリターンを表示しないXMLコードの例

私の問題は、xmlサンプルコードをネームスペースの備考セクション に追加しようとすると、xmlファイルがキャリッジリターンなしでxmlコードをすべて1行にレンダリングするという点です。私は仕事が、\ nと\ rの文字は、コード例に残されている\ nまたは\ rを使用して試した

<Member><firstname>Cliff</firstname><lastname>Mayson</lastname><age>27</age></Member> 

<member name="N:BrokerServices.GatewayAsmx"> 
    <summary>summary text</summary> 
    <remarks> 
     remarks text 
     <example> 
       Sample xml code    
       <code lang="xml"> 
       <Membership> 
        <firstname>Cliff</firstname> 
        <lastname>Mayson</lastname> 
        <age>27</age> 
       </Membership> 
      </code> 
     </example> 
    </remarks> 
</member> 

ザは、ASコード表示例をレンダリングもたらし

<Member><firstname>Cliff</firstname>\n 
    <lastname>Mayson</lastname>\n 
    <age>27</age>\r 
</Member> 

コードに改行文字を含めないで新しい行を挿入するにはどうすればよいですか。

答えて

3

コードタグのlanguage属性がxmlの場合、XMLサンプルが正しく表示されるようにするには、xml:space = "preserve"属性をタグに追加する必要があります。

例えば、

<member name="N:BrokerServices.GatewayAsmx"> 
    <summary>summary text</summary> 
    <remarks> 
     remarks text 
    </remarks> 
    <example> 
     Sample xml code    
     <code lang="xml" xml:space="preserve"> 
      <Membership> 
       <firstname>Cliff</firstname> 
       <lastname>Mayson</lastname> 
       <age>27</age> 
      </Membership> 
     </code> 
    </example> 
</member> 

これは、コードタグのlang属性値は、C#やVB

+0

+1であれば、あまりにも、素敵なトリックだことは必要ではありません! –

+0

乾杯、トップレベルのタグであることが正しいと思われます。それが発言に入れ子になっているときにはうまくいくようですが。 –

3

第1のオプション:<文字を&lt;に置き換えます。
2番目のオプション:XMLコードを<![CDATA[ ... ]]>ブロックに入れます。
3番目のオプション:ForgeDocのような代替ツールを使用することもできます。

もう1つのこと:サンプルブロックを備考セクションに入れないでください。 Exampleはトップレベルのタグです。

関連する問題