|
|
|
XMLSpreadsheet
|
|||
|---|---|---|---|
|
#18+
Есть простой XML файл <?xml version="1.0" standalone="yes" ?> <DataSet> <International> <ReisNo>351</ReisNo> <DepIATA>DOK</DepIATA> <STD>10:00</STD> <ArrIATA>KBP</ArrIATA> <STA>11:00</STA> <CraftType>Yak-42</CraftType> <Dest>0</Dest> </International> <International> <ReisNo>153</ReisNo> <DepIATA>DOK</DepIATA> <STD>03:25</STD> <ArrIATA>DME</ArrIATA> <STA>04:55</STA> <CraftType>Yak-42</CraftType> <Dest>1</Dest> </International> </DataSet> И есть XSL шаблон <?xml version="1.0" encoding="utf-8" ?> <xsl:stylesheet version="1.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"> <xsl:template match="/"> <xsl:processing-instruction name="mso-application"> <xsl:text>progid="Excel.Sheet"</xsl:text> </xsl:processing-instruction> <Workbook> <Styles> <Style ss:ID="Default" ss:Name="Normal"> <Alignment ss:Vertical="Center" ss:Horizontal="Center" /> <Borders /> <Font /> <Interior /> <NumberFormat /> <Protection /> </Style> </Styles> <Worksheet ss:Name="UTC English"> <Table> <Row > <Cell> <Data ss:Type="String">NN</Data> </Cell> <Cell> <Data ss:Type="String">Flt Nr</Data> </Cell> <Cell> <Data ss:Type="String">Airport Dep</Data> </Cell> <Cell> <Data ss:Type="String">STD (UTC)</Data> </Cell> <Cell> <Data ss:Type="String">Airport Arr</Data> </Cell> <Cell> <Data ss:Type="String">STA (UTC)</Data> </Cell> <Cell> <Data ss:Type="String">Aircraft type</Data> </Cell> </Row> <Row> <Cell ss:MergeAcross="7"> <Data ss:Type="String">I Domestic</Data> </Cell> </Row> <xsl:apply-templates select="//International" /> <Row> <Cell ss:MergeAcross="7"> <Data ss:Type="String">II International</Data> </Cell> </Row> <xsl:apply-templates select="//International" /> </Table> </Worksheet> </Workbook> </xsl:template> <xsl:template match="International"> <Row> <Cell> <Data ss:Type="Number"> <xsl:number value="position()"/> </Data> </Cell> <Cell> <Data ss:Type="Number"> <xsl:value-of select="ReisNo" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="DepIATA" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="STD" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="ArrIATA" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="STA" /> </Data> </Cell> <Cell> <Data ss:Type="String"> <xsl:value-of select="CraftType" /> </Data> </Cell> </Row> </xsl:template> </xsl:stylesheet> Сейчас все данные из xml выводятся два раза (<xsl:apply-templates select="//International" />) А как можно вывести сначала узлы с <Dest>0</Dest>, потом заголовок <Data ss:Type="String">II International</Data> и наконец узлы с <Dest>1</Dest>??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2006, 19:02 |
|
||
|
XMLSpreadsheet
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2006, 23:29 |
|
||
|
|

start [/forum/topic.php?fid=14&fpage=75&tid=1334815]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 283ms |
| total: | 433ms |

| 0 / 0 |
