如何优化XSL样式表的生成和转换

时间:2014-03-16 07:10:00

标签: xslt

我从word document.xml生成样式表,其中包含具有占位符的表。

表的每一行都有相同的样式,在XSL样式表中重复相同的元素块(标记)会导致XSL文件变大。

有没有办法为表的所有行指定相同的行样式而不重复每行的样式?

非常感谢任何帮助。

以下是包含占位符的单行,将为每个记录重复此行以及样式信息。我希望样式是独立的,但是从每一行引用该样式。


document.xml中

  <w:tr w:rsidR="00136F0A" w:rsidRPr="00DD43C2" w:rsidTr="00455F4A">
    <w:trPr>
      <w:cnfStyle w:val="000000100000" w:firstRow="0" w:lastRow="0" w:firstColumn="0" w:lastColumn="0" w:oddVBand="0" w:evenVBand="0" w:oddHBand="1" w:evenHBand="0" w:firstRowFirstColumn="0" w:firstRowLastColumn="0" w:lastRowFirstColumn="0" w:lastRowLastColumn="0"/>
      <w:trHeight w:val="79"/>
    </w:trPr>
    <w:tc>
      <w:tcPr>
        <w:cnfStyle w:val="001000000000" w:firstRow="0" w:lastRow="0" w:firstColumn="1" w:lastColumn="0" w:oddVBand="0" w:evenVBand="0" w:oddHBand="0" w:evenHBand="0" w:firstRowFirstColumn="0" w:firstRowLastColumn="0" w:lastRowFirstColumn="0" w:lastRowLastColumn="0"/>
        <w:tcW w:w="2304" w:type="dxa"/>
      </w:tcPr>
      <w:p w:rsidR="00136F0A" w:rsidRPr="00DD43C2" w:rsidRDefault="0032158A" w:rsidP="009F4FBF">
        <w:pPr>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
        </w:pPr>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="begin"/>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:instrText xml:space="preserve"> MERGEFIELD  JointName  \* MERGEFORMAT </w:instrText>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="separate"/>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
            <w:noProof/>
          </w:rPr>
          <w:t>«JointName»</w:t>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="end"/>
        </w:r>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="2016" w:type="dxa"/>
      </w:tcPr>
      <w:p w:rsidR="00136F0A" w:rsidRPr="00DD43C2" w:rsidRDefault="0032158A" w:rsidP="009F4FBF">
        <w:pPr>
          <w:cnfStyle w:val="000000100000" w:firstRow="0" w:lastRow="0" w:firstColumn="0" w:lastColumn="0" w:oddVBand="0" w:evenVBand="0" w:oddHBand="1" w:evenHBand="0" w:firstRowFirstColumn="0" w:firstRowLastColumn="0" w:lastRowFirstColumn="0" w:lastRowLastColumn="0"/>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
        </w:pPr>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="begin"/>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:instrText xml:space="preserve"> MERGEFIELD  X  \* MERGEFORMAT </w:instrText>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="separate"/>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
            <w:noProof/>
          </w:rPr>
          <w:t>«X»</w:t>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="end"/>
        </w:r>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="2016" w:type="dxa"/>
      </w:tcPr>
      <w:p w:rsidR="00136F0A" w:rsidRPr="00DD43C2" w:rsidRDefault="0032158A" w:rsidP="009F4FBF">
        <w:pPr>
          <w:cnfStyle w:val="000000100000" w:firstRow="0" w:lastRow="0" w:firstColumn="0" w:lastColumn="0" w:oddVBand="0" w:evenVBand="0" w:oddHBand="1" w:evenHBand="0" w:firstRowFirstColumn="0" w:firstRowLastColumn="0" w:lastRowFirstColumn="0" w:lastRowLastColumn="0"/>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
        </w:pPr>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="begin"/>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:instrText xml:space="preserve"> MERGEFIELD  Y  \* MERGEFORMAT </w:instrText>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="separate"/>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
            <w:noProof/>
          </w:rPr>
          <w:t>«Y»</w:t>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="end"/>
        </w:r>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="2019" w:type="dxa"/>
      </w:tcPr>
      <w:p w:rsidR="00136F0A" w:rsidRPr="00DD43C2" w:rsidRDefault="0032158A" w:rsidP="009F4FBF">
        <w:pPr>
          <w:cnfStyle w:val="000000100000" w:firstRow="0" w:lastRow="0" w:firstColumn="0" w:lastColumn="0" w:oddVBand="0" w:evenVBand="0" w:oddHBand="1" w:evenHBand="0" w:firstRowFirstColumn="0" w:firstRowLastColumn="0" w:lastRowFirstColumn="0" w:lastRowLastColumn="0"/>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
        </w:pPr>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="begin"/>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:instrText xml:space="preserve"> MERGEFIELD  Z  \* MERGEFORMAT </w:instrText>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="separate"/>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
            <w:noProof/>
          </w:rPr>
          <w:t>«Z»</w:t>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="end"/>
        </w:r>
      </w:p>
    </w:tc>
    <w:tc>
      <w:tcPr>
        <w:tcW w:w="2016" w:type="dxa"/>
      </w:tcPr>
      <w:p w:rsidR="00136F0A" w:rsidRPr="00DD43C2" w:rsidRDefault="0032158A" w:rsidP="009F4FBF">
        <w:pPr>
          <w:cnfStyle w:val="000000100000" w:firstRow="0" w:lastRow="0" w:firstColumn="0" w:lastColumn="0" w:oddVBand="0" w:evenVBand="0" w:oddHBand="1" w:evenHBand="0" w:firstRowFirstColumn="0" w:firstRowLastColumn="0" w:lastRowFirstColumn="0" w:lastRowLastColumn="0"/>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
        </w:pPr>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="begin"/>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:instrText xml:space="preserve"> MERGEFIELD  Fixity </w:instrText>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="separate"/>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
            <w:noProof/>
          </w:rPr>
          <w:t>«Fixity»</w:t>
        </w:r>
        <w:r>
          <w:rPr>
            <w:rFonts w:ascii="Arial Narrow" w:hAnsi="Arial Narrow" w:cs="Arial"/>
          </w:rPr>
          <w:fldChar w:fldCharType="end"/>
        </w:r>
      </w:p>
    </w:tc>
  </w:tr>

0 个答案:

没有答案
相关问题