ฉันกำลังสร้างเอกสาร Excel โดยที่ข้อความภายในเซลล์จะถูกจัดรูปแบบด้วยสีอื่นหรือตัวหนา
ตัวอย่างเช่น สเปรดชีตของฉันควรเป็นดังนี้: .
ข้อความที่ฉันต้องการจัดรูปแบบมีแท็กล้อมรอบใน XML ของฉันเช่น <strong>
. ฉันได้เขียนฟังก์ชันที่รับแท็กเหล่านี้และแทนที่ด้วยสีหรือการจัดรูปแบบตัวหนา เช่น <Font html:color="#0000FF"> text </Font>
เมื่อสร้างเอาต์พุต xml เพื่อเปิดใน Excel
ปัญหาคือเมื่อเปิดสเปรดชีต ข้อความจะไม่มีสี แต่ล้อมรอบด้วยคำสั่งการจัดรูปแบบ <Font html:color="#0000FF">
:
นี่คือ XML อินพุตของฉัน
<?xml version="1.0" encoding="UTF-8"?>
<analysis>
<datasetList>
<dataset>
<datasetLabel>Subject Level Analysis</datasetLabel>
<datasetName>ADSL</datasetName>
<datasetOrdinal>1</datasetOrdinal>
<datasetStructure>One record per subject</datasetStructure>
<datasetContext>
<datasetClass>
<datasetClass>ADSL</datasetClass>
</datasetClass>
</datasetContext>
<columnList>
<column>
<columnLabel>Analysis Visit</columnLabel>
<columnName>AVISIT</columnName>
<columnDerivationList>
<columnDerivation>
<columnDerivationDescription>Set to collected visit name [EG.VISIT] <keepordrop>Set to 'POST-BASELINE MINIMUM'</keepordrop></columnDerivationDescription>
</columnDerivation>
<columnDerivation>
<columnDerivationDescription>Set to a re-defined visit range based on user-defined input. <strong>Set to 'POST-BASELINE MINIMUM'</strong></columnDerivationDescription>
</columnDerivation>
</columnDerivationList>
</column>
<column>
<columnLabel>Analysis Visit (N)</columnLabel>
<columnName>AVISITN</columnName>
<columnDerivationList>
<columnDerivation>
<columnDerivationDescription>Set to collected <edit>Set to 9997</edit></columnDerivationDescription>
</columnDerivation>
<columnDerivation>
<columnDerivationDescription>Set to a user defined numeric value <select>Set to 9997 wih the analysis visit </select></columnDerivationDescription>
</columnDerivation>
</columnDerivationList>
</column>
</columnList>
</dataset>
</datasetList>
</analysis>
นี่คือ XSLT ที่สมบูรณ์ของฉัน
<?xml version="1.0" encoding="UTF-8"?>
<?mso-application progid="Excel.Sheet"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:gdsr="http://somethinghere.com" >
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<!--
***************************************************************************************
START OF WORKBOOK LAYOUT
***************************************************************************************
-->
<xsl:template match="/" >
<xsl:processing-instruction name="mso-application">progid="Excel.Sheet"</xsl:processing-instruction>
<ss:Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
<xsl:call-template name="document-properties"/>
<xsl:call-template name="document-styles"/>
<!-- ****************************************************************************************** -->
<!-- CREATE THE TABS IN THE WORKBOOK -->
<!-- ****************************************************************************************** -->
<xsl:call-template name="getDset"/>
<!-- ****************************************************************************************** -->
</ss:Workbook>
</xsl:template>
<!-- TEMPLATE FOR DATASET -->
<xsl:template name="getDset">
<xsl:for-each select="//dataset">
<ss:Worksheet ss:Name="{.//datasetName}"><!-- Add filters to the columns -->
<Names>
<NamedRange ss:Name="_FilterDatabase" ss:RefersTo="={.//datasetName}!R1C1:R1C2" ss:Hidden="1"/>
</Names>
<ss:Table ss:ExpandedColumnCount="2" ss:ExpandedRowCount="200" x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="30">
<Column ss:Width="70"/>
<Column ss:Width="70"/>
<Row>
<Cell ss:StyleID="sHead">
<Data ss:Type="String">
Header1
</Data>
<NamedCell ss:Name="_FilterDatabase"/>
</Cell>
<Cell ss:StyleID="sHead">
<Data ss:Type="String">
Header2
</Data>
<NamedCell ss:Name="_FilterDatabase"/>
</Cell>
</Row>
<xsl:for-each select="columnList/column">
<xsl:if test="columnName !=' ' ">
<Row>
<Cell ss:StyleID="sBody" >
<Data ss:Type="String">
<xsl:value-of select="columnName"/>
</Data>
</Cell>
<!-- SET COLOR OF TEXT WHEN TAGGED -->
<xsl:variable name="columnDerivationDescription">
<xsl:value-of select="columnDerivationList/columnDerivation/columnDerivationDescription"/>
</xsl:variable>
<xsl:variable name="columnDerivationDescription1">
<xsl:value-of select="gdsr:set-font($columnDerivationDescription)"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="contains($columnDerivationDescription1, 'Font')">
<Cell ss:StyleID="sBody">
<ss:Data ss:Type="String" xmlns="http://www.w3.org/TR/REC-html40">
<xsl:for-each select="columnDerivationList/columnDerivation">
<xsl:if test="columnDerivationDescription !=' ' ">
<xsl:call-template name="LFsToBRs">
<xsl:with-param name="input" select="gdsr:set-font(columnDerivationDescription)"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</ss:Data>
</Cell>
</xsl:when>
<xsl:otherwise>
<Cell ss:StyleID="sBody">
<Data ss:Type="String">
<xsl:for-each select="columnDerivationList/columnDerivation">
<xsl:if test="columnDerivationDescription !=' ' ">
<xsl:call-template name="LFsToBRs">
<xsl:with-param name="input" select="columnDerivationDescription"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</Data>
</Cell>
</xsl:otherwise>
</xsl:choose>
<!-- COLOUR TAGGED. NICELY DONE -->
</Row>
</xsl:if>
</xsl:for-each>
</ss:Table>
<xsl:call-template name="worksheet-options"/>
<AutoFilter x:Range="R1C1:R1C2" xmlns="urn:schemas-microsoft-com:office:excel"/>
</ss:Worksheet>
</xsl:for-each>
</xsl:template>
<!--FUNCTIONS-->
<xsl:function name="gdsr:set-font">
<xsl:param name="text"/>
<xsl:variable name="blue-font"><Font html:color="#0000FF"></xsl:variable>
<xsl:variable name="blue-font-end"><xsl:text disable-output-escaping="no"></Font></xsl:text></xsl:variable>
<xsl:variable name="pink-font"><Font html:color="#7030A0"></xsl:variable>
<xsl:variable name="pink-font-end"><xsl:text disable-output-escaping="no"></Font></xsl:text></xsl:variable>
<xsl:variable name="var-1" select="replace($text,'<select>',$blue-font)"/>
<xsl:variable name="var-2" select="replace($var-1,'</select>',$blue-font-end)"/>
<xsl:variable name="var-3" select="replace($var-2,'<strong>','<b>')"/>
<xsl:variable name="var-4" select="replace($var-3,'</strong>','</b>')"/>
<xsl:variable name="var-5" select="replace($var-4,'<keepordrop>',$pink-font)"/>
<xsl:variable name="var-6" select="replace($var-5,'</keepordrop>',$pink-font-end)"/>
<xsl:variable name="var-7" select="replace($var-6,'<edit>',$blue-font)"/>
<xsl:variable name="var-8" select="replace($var-7,'</edit>',$blue-font-end)"/>
<xsl:variable name="var-81" select="replace($var-8,'<select><option>',$blue-font)"/>
<xsl:variable name="var-82" select="replace($var-81,'</option><option>','BLUEFONTENDOP1 | BLUEFONTSTARTOP2')"/>
<xsl:variable name="var-83" select="replace($var-82,'BLUEFONTENDOP1',$blue-font-end)"/>
<xsl:variable name="var-84" select="replace($var-83,'BLUEFONTSTARTOP2',$blue-font)"/>
<xsl:variable name="var-85" select="replace($var-84,'</option></select>',$blue-font-end)"/>
<xsl:variable name="var-9">
<xsl:analyze-string select="$var-85"
regex="({$blue-font})(.*?)({$blue-font-end}|{$blue-font})">
<xsl:matching-substring>
<xsl:choose>
<xsl:when test="regex-group(3)=$blue-font-end">
<xsl:value-of select="regex-group(0)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="regex-group(1)"/>
<xsl:value-of select="regex-group(2)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:variable>
<xsl:variable name="var-10">
<xsl:analyze-string select="$var-9"
regex="({$blue-font-end})(.*?)({$blue-font-end}|{$blue-font})">
<xsl:matching-substring>
<xsl:choose>
<xsl:when test="regex-group(3)=$blue-font">
<xsl:value-of select="regex-group(0)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="regex-group(2)"/>
<xsl:value-of select="regex-group(3)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:variable>
<xsl:value-of select="$var-10"/>
</xsl:function>
<!--
*************************************GENERAL TEMPLATES**************************************************
-->
<xsl:template name="LFsToBRs">
<xsl:param name="input"/>
<xsl:choose>
<xsl:when test="contains($input, ' ')">
<xsl:value-of select="substring-before($input, ' ')"/>
<xsl:text disable-output-escaping="yes">&#10;</xsl:text>
<xsl:call-template name="LFsToBRs">
<xsl:with-param name="input" select="substring-after($input, ' ')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$input"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- EXCEL WORKSHEET OPTIONS -->
<xsl:template name="worksheet-options">
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Selected/>
<FreezePanes/>
<FrozenNoSplit/>
<SplitHorizontal>1</SplitHorizontal>
<TopRowBottomPane>1</TopRowBottomPane>
<ActivePane>2</ActivePane>
<Panes>
<Pane>
<Number>3</Number>
<ActiveRow>18</ActiveRow>
<ActiveCol>2</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</xsl:template>
<!-- EXCEL DOCUMENT PROPERTIES -->
<xsl:template name="document-properties">
<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
<Author>Mason, Huw {MDBZ~Basel}</Author>
<LastAuthor>Mason, Huw {MDBZ~Basel}</LastAuthor>
<Created></Created>
<Company></Company>
<Version>1</Version>
</DocumentProperties>
<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
<WindowHeight>14370</WindowHeight>
<WindowWidth>27795</WindowWidth>
<WindowTopX>480</WindowTopX>
<WindowTopY>120</WindowTopY>
<ProtectStructure>False</ProtectStructure>
<ProtectWindows>False</ProtectWindows>
</ExcelWorkbook>
</xsl:template>
<!-- EXCEL DOCUMENT STYLES -->
<xsl:template name="document-styles">
<ss:Styles>
<ss:Style ss:ID="Default" ss:Name="Normal">
<ss:Alignment ss:Vertical="Bottom" ss:WrapText="1"/>
<ss:Borders/>
<ss:Font ss:FontName="Arial" x:Family="Swiss" ss:Size="10" ss:Color="#000000"/>
<ss:Interior/>
<ss:NumberFormat/>
<ss:Protection/>
</ss:Style><!-- **STYLES CREATED TO REF LATER ON e.g. STYLE FOR COL HEADER**-->
<ss:Style ss:ID="sHead">
<Alignment ss:Horizontal="Center" ss:Vertical="Top" ss:WrapText="1"/>
<ss:Borders>
<ss:Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</ss:Borders>
<Font ss:FontName="Arial" x:Family="Swiss" ss:Size="9" ss:Color="#FFFFFF"/>
<ss:Interior ss:Color="#538DD5" ss:Pattern="Solid"/>
</ss:Style>
<ss:Style ss:ID="sHeadAC">
<Alignment ss:Horizontal="Center" ss:Vertical="Top" ss:WrapText="1"/>
<ss:Borders>
<ss:Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</ss:Borders>
<Font ss:FontName="Arial" x:Family="Swiss" ss:Size="9" ss:Color="#000000"/>
<ss:Interior ss:Color="#FFFF66" ss:Pattern="Solid"/>
</ss:Style>
<ss:Style ss:ID="sHeadCT">
<Alignment ss:Horizontal="Center" ss:Vertical="Top" ss:WrapText="1"/>
<ss:Borders>
<ss:Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</ss:Borders>
<Font ss:FontName="Arial" x:Family="Swiss" ss:Size="9" ss:Color="#FFFFFF"/>
<ss:Interior ss:Color="#FF9900" ss:Pattern="Solid"/>
</ss:Style>
<ss:Style ss:ID="sHeadGD">
<Alignment ss:Horizontal="Center" ss:Vertical="Top" ss:WrapText="1"/>
<ss:Borders>
<ss:Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</ss:Borders>
<Font ss:FontName="Arial" x:Family="Swiss" ss:Size="9" ss:Color="#DA9694"/>
<ss:Interior ss:Color="#000000" ss:Pattern="Solid"/>
</ss:Style>
<ss:Style ss:ID="sHeadPRM">
<Alignment ss:Horizontal="Center" ss:Vertical="Top" ss:WrapText="1"/>
<ss:Borders>
<ss:Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</ss:Borders>
<Font ss:FontName="Arial" x:Family="Swiss" ss:Size="9" ss:Color="#FFFFFF"/>
<ss:Interior ss:Color="#92D050" ss:Pattern="Solid"/>
</ss:Style>
<ss:Style ss:ID="sHeadALG">
<Alignment ss:Horizontal="Center" ss:Vertical="Top" ss:WrapText="1"/>
<ss:Borders>
<ss:Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</ss:Borders>
<Font ss:FontName="Arial" x:Family="Swiss" ss:Size="9" ss:Color="#FFFFFF"/>
<ss:Interior ss:Color="#92D050" ss:Pattern="Solid"/>
</ss:Style>
<ss:Style ss:ID="sBody">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:WrapText="1"/>
<ss:Borders>
<ss:Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<ss:Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</ss:Borders>
<ss:Interior ss:Pattern="Solid"/>
</ss:Style>
<Style ss:ID="SHyperlink" ss:Name="Hyperlink">
<Alignment ss:Horizontal="Left" ss:Vertical="Top" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Arial" x:Family="Swiss" ss:Size="10" ss:Color="#0000FF" ss:Underline="Single"/>
</Style>
</ss:Styles>
</xsl:template>
</xsl:stylesheet>
นี่คือตัวอย่างจาก XML เอาต์พุตของฉัน
<Row>
<Cell ss:StyleID="sBody">
<Data ss:Type="String">AVISIT</Data>
</Cell>
<Cell ss:StyleID="sBody">
<ss:Data xmlns="http://www.w3.org/TR/REC-html40" ss:Type="String">Set to collected visit name [EG.VISIT] <Font html:color="#7030A0">Set to 'POST-BASELINE MINIMUM'</Font>Set to a re-defined visit range based on user-defined input. <b>Set to 'POST-BASELINE MINIMUM'</b></ss:Data>
</Cell>
</Row>
<Row>
<Cell ss:StyleID="sBody">
<Data ss:Type="String">AVISITN</Data>
</Cell>
<Cell ss:StyleID="sBody">
<ss:Data xmlns="http://www.w3.org/TR/REC-html40" ss:Type="String">Set to collected <Font html:color="#0000FF">Set to 9997</Font>Set to a user defined numeric value <Font html:color="#0000FF">Set to 9997 wih the analysis visit </Font></ss:Data>
</Cell>
</Row>
ฉันได้สร้าง xsl และบันทึกเป็นสเปรดชีต XML 2003 เพื่อตรวจสอบโค้ดและเป็นไปตามที่คาดไว้ เมื่อฉันแทนที่ ‹ > ด้วย <
และ >
ฉันพบปัญหาที่ฉันกำลังประสบกับผลลัพธ์ของฉัน
ฉันไม่รู้ว่าเกี่ยวข้องกับการใช้ <
แทนที่จะเป็น ‹ เมื่อสร้าง xml หรือไม่ มีใครมีปัญหาที่คล้ายกันและแก้ไขได้หรือไม่ หรือสามารถดูว่าปัญหาของฉันอยู่ที่ไหน?
แก้ไข:
ฉันได้อัปเดต XSLT inc แล้ว เนมสเปซ html ตามที่ Martin แนะนำ สิ่งนี้จะสร้าง XML อย่างที่ฉันคาดหวังและดูดี
ปัญหาตอนนี้คือเมื่อเปิดใน Excel แล้วการจัดรูปแบบไม่แสดงขึ้น ฉันได้รับข้อความสีดำล้วน
ฉันได้สร้างตัวอย่างสิ่งที่ควรดูและบันทึกเป็น XML สเปรดชีต 2003 เพื่อเปรียบเทียบทั้งสองและเหมือนกัน สิ่งที่น่าสนใจ: ถ้าฉันคัดลอกโค้ดจากตัวอย่างที่สร้างด้วย Excel และวางลงใน XML ที่สร้าง xslt แล้วเปิดใน Excel การจัดรูปแบบก็จะใช้งานได้ หากฉันคัดลอกโค้ดจาก xslt ที่สร้าง xml และวางลงในตัวอย่างที่สร้างด้วย Excel (ซึ่งทำงานได้ดี) การจัดรูปแบบในขณะนี้จะไม่ทำงานอีกต่อไป
รหัส XML ของค่าที่ Excel สร้างขึ้น
<Row ss:AutoFitHeight="0">
<Cell ss:StyleID="s64"><Data ss:Type="String">AVISIT</Data></Cell>
<Cell ss:StyleID="s65"><ss:Data ss:Type="String"
xmlns="http://www.w3.org/TR/REC-html40">Set to collected visit name [EG.VISIT] <Font
html:Color="#7030A0">Set to 'POST-BASELINE MINIMUM'</Font>Set to a re-defined visit range based on user-defined input. <B>Set to 'POST-BASELINE MINIMUM'</B></ss:Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:StyleID="s64"><Data ss:Type="String">AVISITN</Data></Cell>
<Cell ss:StyleID="s65"><ss:Data ss:Type="String"
xmlns="http://www.w3.org/TR/REC-html40">Set to collected <Font
html:Color="#0000FF">Set to 9997</Font>Set to a user defined numeric value<Font
html:Color="#0000FF">Set to 9997 wih the analysis visit</Font></ss:Data></Cell>
</Row>
นี่คือลักษณะของ xml ที่สร้างโดย XSLT ของฉัน:
<Row>
<Cell ss:StyleID="sBody">
<Data ss:Type="String">AVISIT</Data>
</Cell>
<Cell ss:StyleID="sBody">
<ss:Data xmlns="http://www.w3.org/TR/REC-html40" ss:Type="String">Set to collected visit name [EG.VISIT] <Font html:Color="#7030A0">Set to 'POST-BASELINE MINIMUM'</Font>Set to a re-defined visit range based on user-defined input. <B>Set to 'POST-BASELINE MINIMUM'</B>
</ss:Data>
</Cell>
</Row>
<Row>
<Cell ss:StyleID="sBody">
<Data ss:Type="String">AVISITN</Data>
</Cell>
<Cell ss:StyleID="sBody">
<ss:Data xmlns="http://www.w3.org/TR/REC-html40" ss:Type="String">Set to collected <Font html:Color="#0000FF">Set to 9997</Font>Set to a user defined numeric value <Font html:Color="#0000FF">Set to 9997 wih the analysis visit </Font>
</ss:Data>
</Cell>
</Row>
ดังนั้นแม้ว่าโค้ด xml จะเหมือนกันก็ตาม ขึ้นอยู่กับวิธีการสร้างโค้ดว่าจะใช้งานได้หรือไม่
คำถาม: อาจมีความแตกต่างในการเข้ารหัสที่อาจอธิบายพฤติกรรมนี้ได้หรือไม่
xsl:value-of
จะไม่สร้างองค์ประกอบfont
แน่นอน สำหรับแนวทางทั้งหมด เมื่อคุณใช้ XSLT 2.0 อยู่แล้ว คุณใช้โปรเซสเซอร์ XSLT ตัวใดกันแน่ การใช้ Saxon 9 รุ่น 9.7 (แม้แต่รุ่น HE) คุณอาจสามารถเปลี่ยนไปใช้ XSLT 3.0 แล้วใช้ w3.org/TR/xpath-functions-31/#func-parse-xml-fragment บนเนื้อหาของcolumnDerivationDescription
เพื่อเพียงแค่ดันเนื้อหาให้เหมาะสม เทมเพลตเปลี่ยนองค์ประกอบselect
ตามต้องการ ซึ่งใช้งานได้ดีกว่าการพยายามแยกวิเคราะห์ข้อมูลมาก - person Martin Honnen   schedule 10.08.2016sBody
ในStyleID
แต่เมื่อฉันแก้ไขค่าทั้งหมดเหล่านี้เป็นค่าที่นำมาจากแผ่นงานที่บันทึกไว้ของ Excel ตัวอย่างข้อมูลของแถวและเซลล์ที่สร้างขึ้นจะแสดงด้วยสีหรือตัวหนาสำหรับส่วนข้อความที่ได้รับการจัดรูปแบบพิเศษ - person Martin Honnen   schedule 12.08.2016