Просто о XSLT
2009-Вер-11, П'ятниця 10:27![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
www.xml.com/pub/a/2000/08/02/xslt/index.html
gazette.linux.ru.net/lg89/danguer.html
ru.wikipedia.org/wiki/XSLT
devpinoy.org/blogs/keithrull/archive/2008/03/31/how-to-use-the-xmldatasource-object-load-xml-data-to-a-gridview.aspx
www.w3schools.com/Xpath/xpath_functions.asp
Input XML:
Input XML:
<?xml version="1.0" encoding="utf-8"?>
<Ripcenter >
<Ripcentercall PublicationDate="2009-09-10T00:00:00">
<Publication Name="24t " Code="24t ">
<Source Name="backup">
<RunningPrint Code="24T ">
<PrintingPlace Zone="24arh " ZonePPI="24arh " PrintingPlaceCode="HBB " PrintingPlaceName="Hornslet Bogtrykkeri" PrintingPlaceCodeRip="B" />
</RunningPrint>
</Source>
</Publication>
</Ripcentercal>
</Ripcenter >
XSLT Template:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:template match="/">
<root>
<xsl:apply-templates />
</root>
</xsl:template>
<xsl:template match="//Ripcentercall/Publication/Source/RunningPrint/PrintingPlace">
<xsl:element name="row" >
<xsl:attribute name="PublicationDate">
<xsl:value-of select="../../../../@PublicationDate" />
</xsl:attribute>
<xsl:attribute name="Publication">
<xsl:value-of select="../../../@Name" />
</xsl:attribute>
<xsl:attribute name="Source">
<xsl:value-of select="../../@Name" />
</xsl:attribute>
<xsl:attribute name="RunningPrint">
<xsl:value-of select="../@Code" />
</xsl:attribute>
<xsl:attribute name="Zone">
<xsl:value-of select="./@Zone" />
</xsl:attribute>
....
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Output XML:
<?xml version="1.0" encoding="utf-8"?><root>
<row PublicationDate="2009-09-10T00:00:00" Publication="24t " Source="backup" RunningPrint="24T " Zone="24arh " ZonePPI="24arh " PrintingPlaceCode="HBB " PrintingPlaceName="Hornslet Bogtrykkeri" PrintingPlaceCodeRip="B" />
...
</root>