開発メモ

開発用のメモです。

CMSデザイナーのデザインファイルで改行を入れる

http://alice-asahina-dev.hateblo.jp/entries/2014/11/25

Before

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="html" encoding="EUC-JP" omit-xml-declaration="yes" />
  <xsl:template match="/entrylist">
    <xsl:for-each select="entry">
      <menuitem id="{@id}"><xsl:value-of select="category_name" /></menuitem>
      <xsl:for-each select="categories/listitem">
      <menuitem id="{../../@id}-{@id}"><xsl:value-of select="name" /></menuitem>
      </xsl:for-each>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

After

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="html" encoding="EUC-JP" omit-xml-declaration="yes" />
  <xsl:template match="/entrylist">
<![CDATA[

]]><xsl:for-each select="entry">
<menuitem id="{@id}"><xsl:value-of select="category_name" /></menuitem><![CDATA[
            ]]>
      <xsl:for-each select="categories/listitem">
      <menuitem id="{../../@id}-{@id}"><xsl:value-of select="category_name" /></menuitem><![CDATA[
            ]]>
      </xsl:for-each>
    </xsl:for-each>
<!-- comment -->
  </xsl:template>
</xsl:stylesheet>

<![CDATA[]]> により改行・インデントが反映される模様

リザルト

<schema name="infomation" caption="インフォメーション">

   <data name="subject"    type="text"     output="html1" caption="件名" />
   <data name="content"    type="textarea" output="html1" caption="内容" />
   <data name="categories" type="list" caption="カテゴリー" >
      <listitem caption="カテゴリー">
         <data name="category" type="menu" output="html1" caption="カテゴリー" >
            <menuitem id="00001">カテゴリーA1</menuitem>
            <menuitem id="00001-1">カテゴリーA101</menuitem>
            <menuitem id="00001-2">カテゴリーA102</menuitem>
            <menuitem id="00001-3">カテゴリーA103</menuitem>
            <menuitem id="00002">カテゴリーA2</menuitem>
            <menuitem id="00002-1">カテゴリーA201</menuitem>
            <menuitem id="00002-2">カテゴリーA202</menuitem>
            <menuitem id="00002-3">カテゴリーA203</menuitem>
            <menuitem id="00002-4">カテゴリーA204</menuitem>
            <menuitem id="00002-5">カテゴリーA205</menuitem>
            <menuitem id="00003">カテゴリーA3</menuitem>
            <menuitem id="00003-1">カテゴリーA301</menuitem>
            <menuitem id="00003-2">カテゴリーA302</menuitem>
            <menuitem id="00003-3">カテゴリーA303</menuitem>
            <menuitem id="00003-4">カテゴリーA304</menuitem>
         </data>
      </listitem>
   </data>
</schema>
Twitter: @asahina_alice