рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рддреГрддреАрдп-рдкрдХреНрд╖ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛, XSLT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЫрджреНрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЫрдВрдЯрд╛рдИ) рдмрдирд╛рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдХрд╛рд░реНрдп PHP рд╡реЗрдВ XSLT рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдЫрдБрдЯрд╛рдИ рдХрд░рдирд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдХреБрдЫ рдФрд░ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк
рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдЫрдБрдЯрд╛рдИ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдореВрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рдо рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рд╕реЗ рдирд╣реАрдВ рдирд┐рдкрдЯреЗрдВрдЧреЗ рдФрд░ рдмрд╕ рд▓рд┐рдЦреЗрдВрдЧреЗред
Data.xml рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="view.xsl"?> <root> <item id="1"/><item id="2"/><item id="3"/><item id="4"/><item id="5"/><item id="6"/><item id="7"/><item id="8"/><item id="9"/><item id="10"/> </root>
рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╣рд╛рде рдореЗрдВ рдХреБрдЫ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдЬрдирд░реЗрдЯ-рдЖрдИрдбреА () рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмреЗрд╣рддрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ, рдЬреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рддрддреНрд╡ рдХреА рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрд╕реЗрд╕рд░ рдЬреЛ рд╣рд╛рде рдореЗрдВ рд╣реИрдВ рдЙрдирдХреЗ рд╕рд╛рде рдорд┐рд▓рддреЗ рд╣реИрдВред
View.xsl рд░реВрдкрд╛рдВрддрд░рдг рдлрд╝рд╛рдЗрд▓ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <xsl:for-each select="/root/item"> <xsl:value-of select="generate-id()"/><br/> </xsl:for-each> </xsl:template> </xsl:stylesheet>
рдкрд░рд┐рдгрд╛рдо
рдкреАрдПрдЪрдкреА | рдлрд╝рд╛рдпрд░реНрдлрд╝реЙрдХреНрд╕ | рдУрдкреЗрд░рд╛ | MSXML | рд╕рдлрд╛рд░реА |
id1690783 | id0xfd238240 | op5275038 | IDAKA0MB | idp100503080 |
id1690785 | id0xfd2383d0 | op5275022 | IDAMA0MB | idp100502144 |
id1690788 | id0xfd238470 | op5275006 | IDAOA0MB | idp100502072 |
id1690789 | id0xfd2384c0 | op5274990 | IDAQA0MB | idp100502936 |
id1690787 | id0xfd238510 | op5274974 | IDASA0MB | idp100502792 |
id1690784 | id0xfd2640b0 | op5274958 | IDAUA0MB | idp100502648 |
id1690782 | id0xfd2641f0 | op5274942 | IDAWA0MB | idp125378088 |
id1690779 | id0xfd264240 | op5274926 | IDAYA0MB | idp100502504 |
id1690777 | id0xfd264330 | op5274910 | IDA0A0MB | idp125377944 |
id1690775 | id0xfd2643d0 | op5274894 | IDA2A0MB | idp100503224 |
рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рджреЛ рдкрд░реЗрд╢рд╛рдирд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ: рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░рдо рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ XSLT рдкреНрд░реЛрд╕реЗрд╕рд░ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдХреЛрдорд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛, рдФрд░ рдлрд┐рд░ рдмрд╛рд╣рд░ рдЦрдбрд╝рд╛ рдерд╛ред
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЫрдБрдЯрд╛рдИ
рдореИрдВ рдЕрдиреБрдХреНрд░рдо рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдореЗрдВ рдмрджрд▓рдиреЗ, рд╡рд┐рднрд┐рдиреНрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ, рдЕрд▓реНрдХреЛрд╣рд▓ рдХреА рдЦрдкрдд рдХреА рдорд╛рддреНрд░рд╛ рдФрд░ рд░рд╛рддреЛрдВ рдХреА рдиреАрдВрдж рд╣рд░рд╛рдо рдХрд░рдиреЗ рдХреА рдореЗрд░реА рдЕрд╕рдлрд▓ рдХреЛрд╢рд┐рд╢реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ рдХрд┐ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреНрдпрд╛ рд╣реБрдЖред
View.xsl рд░реВрдкрд╛рдВрддрд░рдг рдлрд╝рд╛рдЗрд▓ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <xsl:for-each select="/root/item"> <xsl:sort select="translate(generate-id(), 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '0192834765019283476501928347650192834765019283476501') mod 3.1415" data-type="number"/> <xsl:value-of select="@id"/><br/> </xsl:for-each> </xsl:template> </xsl:stylesheet>
рдпрд╣рд╛рдБ рдореБрдЦреНрдп рддрддреНрд╡ "xsl: рд╕реЙрд░реНрдЯ" рддрддреНрд╡ рдХрд╛ "рдЪрдпрди" рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рддреЛ, рдЪрд▓реЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ: рд╣рдо рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ ("рдЬрдирд░реЗрдЯ-рдЖрдИрдбреА ()" рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреЗ рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВ, рдпрд╣ рд╕рднреА рд╡рд░реНрдгрдирд╛рддреНрдордХ рдорд╛рдиреЛрдВ рдХреЛ рдбрд┐рдЬрд┐рдЯрд▓ ("рдЕрдиреБрд╡рд╛рдж ()" рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдореЛрдбреЛ рдХреЛ рд╕рдВрдЦреНрдпрд╛ рдкрд╛рдИ () рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВ рдкреА, рд▓реЗрдХрд┐рди рдкрд╣рд▓реА рдмрд╛рд░ рдЬреЛ рдорди рдореЗрдВ рдЖрдпрд╛)ред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рдкрд░рд┐рдкреВрд░реНрдг рдФрд░ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯред
рд╣рдо рд╕реЗрдЯ рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рддрддреНрд╡ "рд╕реНрдерд┐рддрд┐ ()" рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рд╣рдо 4 рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
View.xsl рд░реВрдкрд╛рдВрддрд░рдг рдлрд╝рд╛рдЗрд▓ <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <xsl:for-each select="/root/item"> <xsl:sort select="translate(generate-id(), 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', '0192834765019283476501928347650192834765019283476501') mod 3.1415" data-type="number"/> <xsl:if test="position() < 5"> <xsl:value-of select="@id"/><br/> </xsl:if> </xsl:for-each> </xsl:template> </xsl:stylesheet>.
рдереЛрдбрд╝рд╛ php
рдЪреВрдВрдХрд┐ рдЖрд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ PHP рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рднрд╛рд╖рд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛ред
<?php $data = new DOMDocument('1.0', 'UTF-8'); $data->load('data.xml'); $view = new DOMDocument('1.0', 'UTF-8'); $view->load('view.xsl'); $xsl = new XSLTProcessor(); $xsl->importStyleSheet($view); echo $xsl->transformToXML($data); ?>