рд╕рдордп-рд╕рдордп рдкрд░, рдорд░рдиреЗ рд╡рд╛рд▓реЗ XSLT рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдкреЙрдк рдЕрдк рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрдард┐рди рдкреНрд░рд╢реНрди рдкреВрдЫрддреЗ рд╣реИрдВред рдХреИрд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдЕрдзрд┐рдХрддрдо 2 рд╕рдВрдЦреНрдпрд╛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдПрдХ рдЪрдХреНрд░ рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрди рдореБрджреНрджреЛрдВ рдореЗрдВ рд╕реЗ рдХрдИ рдХрд╛ рд╕рдВрдпреЛрдЬрди рдкреЗрдЬрд┐рдиреЗрдЯрд░ рд╣реИ - рдХрдИ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдФрд░, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рд░рд▓ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреЗрдЬрд┐рдиреЗрдЯрд░ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреЗрдЬ рдПрдХреНрд╕рдПрдордПрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд░рд╛рдЬрд╕реА рд╕реЛрдЪ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИ: рдкреЗрдЬрд▓реНрд╕ рдХреЗ рд╕рднреА рд▓реЗрдЖрдЙрдЯ, рдХреНрдпреЛрдВ рдирд╣реАрдВ, рдкреЗрдЬрд▓рд╛рдЗрдЯрд░ рд╕рд╣рд┐рдд, рдПрдХреНрд╕рдПрд╕рдПрд▓рдЯреА рдореЗрдВ? рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдЬреЗрдПрд╕ рдХреЛ рдЗрд╕ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрд╖реЗрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрд╕рд╛рди рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдирд╣реАрдВ рд╣реИред
рдПрдХреНрд╕рдПрд╕рдПрд▓рдЯреА рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖
рдЬреЗрдПрд╕ рдкрд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рджрд░реНрдЬрди рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕реЗ рдорд╛рдЗрдирд╕ рд╣реЛрдиреЗ рджреЗрдВред рдлрд┐рд░ рднреА, рдпрд╣ рдХрд╛рд░реНрдп рд╕рдВрднрд╡ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрднреА-рдХрднреА рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдкреЙрдк рд╣реЛрдЧрд╛ред
рд╡реЗрдм рдкрд░, рдЙрддреНрддрд░ рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, 2 рдирдВрдмрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рдорд╛рди: "
рдПрдХреНрд╕рдПрд╕рдПрд▓рдЯреА рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреИрд╕реЗ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдПрдЪрдЯреАрдПрдордПрд▓ рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдирд╖реНрдЯ рди рд╣реЛрдВ ред" рддреЛ, рдиреНрдпреВрдирддрдо рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде, рдПрд╕рдУ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╖реНрдард╛ рдЖрдкрдХреЛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдПрдЧреАред
XSLT рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдмрд╣реБрдд рдкреБрд░рд╛рдиреЗ рдФрд░ рд╕рд░рд▓ рд▓реЛрдЧреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдиреЗ XML + XSLT рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдХреА рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ (рдмреНрд░рд╛рдЙрдЬрд╝рд░) рдореЗрдВ рдХрд╛рдо рд╢рд┐рдлреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдШреЛрд╖рд┐рдд рдХреЛрдб рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реИрдХрдбрд╝реЛрдВ рд▓рд╛рдЗрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ред
рдЕрдХреНрд╕рд░ рдШреЛрд╖рдгрд╛рдкрддреНрд░ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИред рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ, рд╕рдордЭрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдЬреЗрдиреЗрд░рд┐рдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ рднрд╛рд╖рд╛ рдореЗрдВ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЧреАрдХреНрд╕ рдФрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЦреБрдж рдХреЛ рдПрдХ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд▓реЗрдЦ рдХреЗ рджреЛ рд▓рдХреНрд╖реНрдп рд╣реИрдВ - рдЕрд╡рдХрд╛рд╢ рдкрд░ рдкрдврд╝рдирд╛ рдФрд░ рдЦреЗрд▓рдирд╛ - рдЧреАрдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдФрд░ рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдЙрджрд╛рд╣рд░рдг рд▓реЗрдирд╛ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ - рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдПред
Habr├й рдкрд░ рдПрдХ рд╕рдорд╛рди рд╡рд┐рд╖рдп рдпрд╣рд╛рдВ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рдерд╛:
habrahabr.ru/post/138740 (рдкреЗрдЬрд┐рдиреЗрдЯрд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди)ред
рдкреЗрдЬрд┐рдиреЗрдЯрд░ рд╕реЗ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП
XML рд╕реЗ, рдпрд╣ рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рд╕рдВрдЦреНрдпрд╛ рдФрд░ (рд╕рдВрднрд╡рддрдГ) рд╕реВрдЪреА рдХрд╛ рдЕрдВрддрд┐рдо рдкреГрд╖реНрда рдирдВрдмрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд╕рдм рдХреБрдЫ * .xsl рдореЗрдВ рдкреЗрдЬрд┐рдиреЗрдЯрд░ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмрд╣реБрдд "рдмрд╛рдХреА" рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЙрддреНрдкрд╛рджрди рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдмрд╕ рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рд▓рд┐рдВрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ - рджрд░реНрдЬрдиреЛрдВ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреГрд╖реНрдареЛрдВ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯред рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдПрдХ рдкреЗрдЬрд┐рдиреЗрдЯрд░ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рдЕрдЪреНрдЫрд╛ рдЪрд┐рддреНрд░рдг рд╣реИред
1) рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ (рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде, рдпрджрд┐ рдХрднреА-рдХрднреА рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдпрд╛ рд▓рд┐рдВрдХ рдХреЗ рдмрд┐рдирд╛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ);
2) рдЖрд╕-рдкрд╛рд╕ рдХреЗ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдХрдИ рд▓рд┐рдВрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ (рд╡рд░реНрддрдорд╛рди рдПрдХ рдХреЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ);
3) рдкрд╣рд▓реЗ рдФрд░ рдЖрдЦрд┐рд░реА (рдЪрд░рдо) рдкреГрд╖реНрда, рдпрджрд┐ рд╡реЗ "рдкрдбрд╝реЛрд╕реА" рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВ;
4) рджреАрд░реНрдШрд╡реГрддреНрдд, рдпрджрд┐ рдкрдбрд╝реЛрд╕реА рдФрд░ рдЪрд░рдо рдХреЗ рдмреАрдЪ рдореЗрдВ рдкреГрд╖реНрда рдирд╣реАрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ;
5) рд╡реИрдХрд▓реНрдкрд┐рдХ - рджрд┐рдЦрд╛рдП рдЧрдП рдкреГрд╖реНрда рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдордзреНрдп рддрдХ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреАрд░реНрдШрд╡реГрддреНрдд рдкрд░ рд▓рд┐рдВрдХ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ;
6) рдпрджрд┐ рдХреБрдЫ рд▓рд┐рдВрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рджреВрд╕рд░реА рддрд░рдл рд▓рд┐рдВрдХ рдХреА рдПрдХ рдЕрдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдВрдЦреНрдпрд╛ рдЬреЛрдбрд╝реЗрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ рдХреЛрдИ рд▓рд┐рдВрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рднреАрддрд░ рджрд┐рдЦрд╛рдирд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо 5 рд▓рд┐рдВрдХ "рдкрд╣рд▓реЗ" рдФрд░ 5 "рдмрд╛рдж" рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддреАрд╕рд░реЗ рдкреГрд╖реНрда рдХреЛ рджреЗрдЦрддреЗ рд╕рдордп 2 рд▓рд┐рдВрдХ "рдкрд╣рд▓реЗ" рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рд╣реЛ рддреЛ 8 рд▓рд┐рдВрдХ "рдмрд╛рдж" рджрд┐рдЦрд╛рдПрдВ (рд╡реЗ рдЕрдзрд┐рдХрддрдо рдкреГрд╖реНрдареЛрдВ рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдЬрд╛рдПрдВрдЧреЗ)ред
(рдпрд╣ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдкреВрд░реА рд╣реЛ рдЧрдИ рд╣реИ - рдкреЗрдЬ рдирдВрдмрд░ рдХреЗ рдкрд╛рд╕ рд╣реЛрдиреЗ рдкрд░ рджрд╛рдИрдВ рдУрд░ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд┐рдВрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдкреГрд╖реНрда рд╕рдВрдЦреНрдпрд╛ рдЕрдзрд┐рдХрддрдо рдХреЗ рдХрд░реАрдм рд╣реИ, рддреЛ рд╕реВрдЪреА рдХрд╛ рдХреЗрд╡рд▓ рдЖрдзрд╛ рднрд╛рдЧ рд╣реА рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рддрд░реНрдХ рдФрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рдмрд╣реБрдд рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рд▓рдХреНрд╖реНрдп рд╕рдЦреНрддреА рд╕реЗ рдирд╣реАрдВ рд╣реИред рдЦрдбрд╝рд╛ рд╣реИред)
7) рдЖрдЦрд┐рд░рдХрд╛рд░, рдкреЗрдЬрд┐рдиреЗрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рджреЛрд╣рд░рд╛ рдЙрдкрдпреЛрдЧ - рдкрд╣рд▓реЗ рдХреЗ рдмрд╛рдж рджрд░реНрдЬрдиреЛрдВ (рдпрд╛ рдлрд╝рд╛рдЗрд╡, рд╕рдм рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреГрд╖реНрдареЛрдВ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯред рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдмрд╣реБрдд рдмрдбрд╝реА рд╕реВрдЪреА рдореЗрдВ, рджрд░реНрдЬрдиреЛрдВ рдкреГрд╖реНрдареЛрдВ рддрдХ рдЬрд▓реНрджреА рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдкрд╣рд▓реЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдЕрдВрддрд┐рдо рдкреГрд╖реНрда рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рддреЛ рджрд╕рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред
XSLT рддрд╛рдУ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдПрдБ
рдХрд╣рд╛рдиреА рдХреЛ рдЙрдкрдпреЛрдЧреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдЗрд╕ рдШреЛрд╖рдгрд╛рддреНрдордХ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдПрдВрдЧреЗред рд╣рдо рд╕рд╛рдзрд╛рд░рдг рдореЙрдбрд▓ рд╕реЗ рд▓реЗрдХрд░ рддреЗрдЬреА рд╕реЗ рдЬрдЯрд┐рд▓ рд▓реЛрдЧреЛрдВ рддрдХ рдПрдХ рдкреЗрдЬрд┐рдиреЗрдЯрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗред
рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдо рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рд▓реЗрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдХреНрд╕рд░ рд╡реЗрдм рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЬрд┐рд╕реЗ рджреЗрдЦрдирд╛ рд╣реЛрддрд╛ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд┐рдВрдЧ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рд▓рд╛рдЧрдд рдЫреЛрдЯреА рд╣реИ, рд╣рдо XML рдореЗрдВ рдкреНрд░рддрд┐ рдкреГрд╖реНрда рд▓реЙрдЧ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рднреА рдбрд┐рдЬрд╝рд╛рдЗрди рдХреНрд▓рд╛рдЗрдВрдЯ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреАрдЬ рдХреЛ рд╕реМрдВрдкреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрд╕рдЯреАрдПрд▓рдЯреА рд╢рд╛рдорд┐рд▓ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЕрдзрд┐рдХ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИред рд▓реЗрдХрд┐рди XSLT рднреА рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рддрд╛ рд╣реИ, рд╕реВрддреНрд░реАрдХрд░рдг рдХреА рд╕рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдмрд┐рдЦрд░реЗ рд╣реБрдП рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╣реЛрдмреЗ рд╕реЗ рднреА рдорд┐рд▓рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдирд┐рд░реНрдорд╛рдг рдХреЗ рдирд┐рдпрдореЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЗ рдмрд┐рдирд╛ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рдореВрд▓ рдмрд╛рддреЗрдВред рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдПрдХ рдкреВрд░реНрдг рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреЗрдЬрд┐рдиреЗрдЯрд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рдпрд╛рд╕ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рд╕рд░рд▓ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИред
рдЬрдмрдХрд┐ рд╣рдорд╛рд░реЗ рд▓реЙрдЧ рдореЗрдВ рд▓рдЧрднрдЧ 500 рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реИрдВ, рдкреЗрдЬреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдкреГрд╖реНрда рдкрд░ 10 рд▓рд┐рдВрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ HTML рдореЗрдВ рдкреЗрдЬ рдирдВрдмрд░ рд▓рд┐рдЦрдирд╛ рд╣реИ, рдЬреИрд╕реЗ:
<a href="page.xml?page=2"/>2</a>
рдпрджрд┐ 500 тАЛтАЛрдпрд╛ рдЕрдзрд┐рдХ рдЧрд╣рд░реЗ рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВ, рддреЛ рд╡реЗ рд╢рд╛рдпрдж рд╣реА рдХрднреА рджрд┐рдЦрддреЗ рд╣реИрдВ, рдкреГрд╖реНрда рд╕рдВрдЦреНрдпрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реЙрд░реНрдо рдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рджреЗрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╕рд╛рде рд╣реА рдПрдХ рд░рд╛рд╕реНрддрд╛ рднреАред рдЗрд╕рдХреЗ рд▓рд┐рдП XSLT рдореЗрдВ рдЧрд╣рд░реАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдЖрдзрд╛рд░ рдкрд░ xsl рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
<?xml version="1.0"?> <!DOCTYPE html> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head><title>Someone Log</title> <meta http-equiv="x-ua-compatible" content="IE=8"/> <style> body{ ..../* , , */ } </style> <script type="text/javascript"> ... </script> </head> <body> <table class="tb1" id="tb1"> <tr> <th>ip + <span class="n">#</span></th> <th>path</th> <th>browser</th> <th>accType</th> <th>fileName</th> <th>settings</th> <th>date</th> </tr> <xsl:for-each select="/ha/actions/action"> <tr class="account-{accountType} {fileName}"> <td class="help leftJust" title2="{@id}"> <div class="full"> <span><xsl:value-of select="@id"/></span> </div> <div class="brief"><xsl:value-of select="ip"/></div> </td> <td class="leftJust"><a href="http://habrahabr.ru{path}" target="_blank"> <xsl:value-of select="path"/> </a></td> <td class="help UA" title2="{agent}" align="center"> <div class="full"> <div class="fullRel"> <span><xsl:value-of select="agent"/></span> </div> </div> <div class="brief"><xsl:value-of select="browser"/></div> </td> <td><xsl:value-of select="accountType"/></td> <td class="fileName {fileName}"><xsl:value-of select="fileName"/></td> <td> <span class="{settings/property/@value}"> <xsl:value-of select="settings/property/@name"/> </span> </td> <xsl:variable name="dt" select="date"/> <td><span title="{substring($dt,1,10)}"> <xsl:value-of select="substring($dt,12,10)"/> </span></td> </tr> </xsl:for-each> </table> <div class="pagination"> <span class=""> <a href="page.xml?page=1"/>1</a> </span> <span class=""> <a href="page.xml?page=2"/>2</a> </span> <span class=""> <a href="page.xml?page=3"/>3</a> </span> ... </body> </html>
рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдпрд╛ рдЙрд╕реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдХреА рдХрдХреНрд╖рд╛ рдХреЛ рд▓рд┐рдЦрдирд╛ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬреЗрдПрд╕ рд╣реИред рд▓реЗрдХрд┐рди рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ - XSLT рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рд▓рд┐рдЦрдирд╛ред рдЗрд╕рд▓рд┐рдП, рдЕрдирд┐рдЪреНрдЫрд╛ рд╕реЗ, рд▓реЗрдХрд┐рди рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ 10 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЗрд╕ рдЕрдЬреАрдм рд▓реВрдк рдХреЛ рдХреИрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╢реБрд░реБрдЖрдд рдореЗрдВ XSLT рдХреЗ рд▓рд┐рдВрдХ рдХреА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВред
рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХрд╛рд░реНрдп рдмрдирд╛рдПрдБред рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмреЙрдбреА рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдпреЗ рд╕реНрд╡рддрдВрддреНрд░ рдирд╛рдо рд╕реНрдерд╛рди рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреА рддрд░рд╣ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИред
<xsl:template match="/"> ... <xsl:comment>====== , 10 ======</xsl:comment> <xsl:call-template name="paginate"> <xsl:with-param name="nLinks" select="10"/> <xsl:with-param name="p" select="/ha/page"/> <xsl:with-param name="url" select="$url"/> </xsl:call-template> </div></body></html> </xsl:template> <xsl:comment>====== - - ======</xsl:comment> <xsl:template name="paginate"> <xsl:param name="i" select="1"/> <xsl:comment> () </xsl:comment> <xsl:param name="nLinks"/> <xsl:param name="p"/> <xsl:param name="url"/> <xsl:if test="$i <= $nLinks"> <span class="{concat('active', number($i = $p)) }"> <a href="{concat($url, $i)}"> <xsl:value-of select="$i"/> </a> </span> <xsl:call-template name="paginate"> <xsl:with-param name="i" select="$i + 1"/> <xsl:with-param name="nLinks" select="$nLinks"/> <xsl:with-param name="p" select="$p"/> <xsl:with-param name="url" select="$url"/> </xsl:call-template> </xsl:if> </xsl:template>
рд╣реБрд░реНрд░реЗ, рд╣рдордиреЗ рдПрдХ рдЪрдХреНрд░ рдмрдирд╛рдпрд╛! рдХреЙрд▓ рдХреА 5 рд▓рд╛рдЗрдиреЛрдВ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА 15 рд▓рд╛рдЗрдиреЛрдВ рдиреЗ рдЕрдкрдирд╛ рдХрд╛рдо рдХрд┐рдпрд╛ - рд╣рдо рд╡рд░реНрддрдорд╛рди рд▓рд┐рдВрдХ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ HTML рдХреА 30 рд▓рд╛рдЗрдиреЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ! рдпрд╣ рдПрдХ рдЙрдкрд▓рдмреНрдзрд┐ рд╣реИ, рдкреЗрдЬрд┐рдВрдЧ рдкрд░ рд╡рд┐рдЬрдп рдкрд╛рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдкрд╣рд▓рд╛ рдХрджрдоред рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдЬреЗрдПрд╕ рдкрд░ 5 рдЦрд░реНрдЪ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдмреЗрд╣рддрд░ рдкрдврд╝реЗрдВред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрднреНрдпрд╕реНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдлрд┐рд░ рдЖрддреНрдордЬреНрдЮрд╛рди рдЖ рдЬрд╛рдПрдЧрд╛ред
8 рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЪрд╛рд▓ рдЪрд▓реА рдЧрдИ - рд╡рд░реНрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм-рдЬрдм-рдЕрдиреНрдпрдерд╛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди "рд╕рдХреНрд░рд┐рдп" рд╢рдмреНрдж рдореЗрдВ 1 рдпрд╛ 0 рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдХреЗ "active1" = рд▓рд┐рдВрдХ рд╡рд░реНрдЧред
рдЗрд╕ рдЦрдВрдб рдкрд░ рднрд╛рд╖рд╛ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реВрдЪреАрдмрджреНрдз рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред select = "$ i + 1" рд╡рд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдерд╛рди рд╣реИ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдЪрдХреНрд░ рдЪрд▓рддрд╛ рд╣реИ, рдФрд░ рдкрд░реАрдХреНрд╖рдг = "$ i <= $ nLinks рд╡рд╣ рд╕реНрдерд╛рди рд╣реИ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдпрд╣ рд░реБрдХ рдЬрд╛рддрд╛ рд╣реИред
& lt; - рднрд╛рд╖рд╛ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреБрдЫ рдЕрдХреНрд╖рд░ (<,>, &, /) рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ред
рдпрджрд┐ рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╣реИ рдФрд░ рддрддреНрд╡ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИ, рддреЛ рдмрд╕ рд▓рд┐рдЦреЗрдВ
<xsl:with-param name="nLinks" select="/ha/pageLast"/>
рд▓рд┐рдВрдХ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рд╕рдордорд┐рдд
рдЕрдЧрд▓рд╛ рдХрд╛рд░реНрдп: рд▓рд┐рдВрдХ рдХреА рдПрдХ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЖрдзреЗ рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдВрдХ рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рджреВрд╕рд░реА рдЫрдорд╛рд╣реА - рдХреЗ рдмрд╛рджред рд╣рдо рдЙрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрдИ рдмрд╛рд░ рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдо рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реВрдк рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди 1. рд╕реЗ рдХрдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд▓рд┐рдВрдХ рдХреА рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ "рдкрд╣рд▓реЗ" 1 рдФрд░ рд▓рд┐рдВрдХ рд╣реЛрдВрдЧреЗ (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рд╣рдореЗрд╢рд╛ рдЕрдЬреАрдм рджреА рдЬрд╛рдПрдЧреА, рд▓реЗрдХрд┐рди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ)
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд "рдЯреВ" рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдкреГрд╖реНрда рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
<div class="pagination"> : <xsl:variable name="url">http://37.230.115.43/actions/last.xml?page=</xsl:variable> <xsl:variable name="p" select="/ha/page"/> <xsl:comment> </xsl:comment> <xsl:variable name="nL" select="9"/> <xsl:comment> </xsl:comment> <xsl:call-template name="paginate"> <xsl:with-param name="i" select="$p"/> <xsl:with-param name="nLinks" select="$nL"/> <xsl:with-param name="url" select="$u"/> </xsl:call-template> </div></body></html> </xsl:template> <xsl:template name="paginate"> <xsl:param name="i" select="1"/> <xsl:param name="nLinks"/> <xsl:param name="url"/> <xsl:param name="to" select="$i + $nLinks"/> <xsl:variable name="n2" select="floor($nLinks div 2)"/> <xsl:if test="$i < $to"> <xsl:if test="$i - $n2 >= 1"> <span class="{concat('active', number($i = $to - ceiling($nLinks div 2))) }"> <a href="{concat($url, $i - $n2)}"> <xsl:value-of select="$i - $n2"/> </a> </span> </xsl:if> <xsl:call-template name="paginate"> <xsl:with-param name="i" select="$i + 1"/> <xsl:with-param name="url" select="$url"/> <xsl:with-param name="nLinks" select="$nLinks"/> <xsl:with-param name="to" select="$to"/> </xsl:call-template> </xsl:if> </xsl:template>
2 рдЪреАрдЬреЗрдВ рдЧрд╛рдпрдм рд╣реИрдВ: рдкрд╣рд▓реЗ рдкреГрд╖реНрда рдкрд░ рд▓рд┐рдВрдХ, рдЬрдм рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдФрд░ рдЬрдм рд╣рдо рдкрд╣рд▓реЗ рдкреГрд╖реНрда рдкрд░ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рд▓рд┐рдВрдХ рдХреА рдкреВрд░реА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рд╕рддреНрдпрд╛рдкрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬрдм рд▓рд┐рдВрдХ "1" рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЬрдм - рдПрдХ рджреАрд░реНрдШрд╡реГрддреНрдд, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкреГрд╖реНрда рд▓рд┐рдВрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд▓рдВрдШрдиред
рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдЧрд┐рдирддрд╛ рд╣реИ рдХрд┐ $ nLinks рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЪрдХреНрд░ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдиреЗ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ, рдФрд░ рдЕрдм рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, $ nLinks рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ред
рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдзрд╛рди рд╕рд░рд▓ рд╣реИред рдпрд╣ рдирд┐рд░реНрдгрдп рдПрдХ рддрд░реНрдХ рдмрдо рдХреА рдЬреЛрдбрд╝реА рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рд╣рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
1) рдЪрдХреНрд░ рдХрднреА рдЦрддреНрдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ; рдареАрдХ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рд╣реИ, рд╣рдо рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛рдЙрдВрдЯрд░ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ, рдХрд╣рддреЗ рд╣реИрдВ, 50, рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ; рд╣рдореНрдо, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 2 рдХрд╛рдЙрдВрдЯрд░ред рд╕рдорд╛рдзрд╛рди рдЙрддрдирд╛ рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдпрд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛;
2) рдкреГрд╖реНрдареЛрдВ рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдкреГрд╖реНрдареЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдЕрдВрдд рдХреЗ рдкрд╛рд╕ - рдЖрдкрдХреЛ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рдирдВрдмрд░ рдЕрдиреБрдореЗрдп рдХреЗ рдХрд┐рдирд╛рд░реЗ рд╕реЗ рдЖрдЧреЗ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рдирд╣реАрдВ рджрд┐рдЦрд╛рдП рдЬрд╛рдПрдВрдЧреЗред рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╣реА рдирд╣реАрдВред
рдпрд╣ (рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ) рдкрд╣рд▓рд╛ рдкреГрд╖реНрда рд╣реИред
<xsl:variable name="pn2" select="$p - floor($nL div 2)"/> <xsl:if test="$pn2 > 1"> <span class=""> <a href="{concat($url, 1)}">1</a> <xsl:if test="$pn2 > 2"> <a class="ellip" title="{floor(($pn2 +1) div 2)}" href="{concat($url, floor(($pn2 +1) div 2) )}">...</a> </xsl:if> </span> </xsl:if>
рджреАрд░реНрдШрд╡реГрддреНрдд рд▓рд┐рдВрдХ рдкрд░, рд▓рдЧрднрдЧ рдирд╣реАрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдЕрдВрддрд░рд╛рд▓ рдХрд╛ рдордзреНрдп рд▓рд┐рдВрдХ рдЯреВрд▓рдЯрд┐рдк рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рдВрдХ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди 60 рдкреГрд╖реНрда рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ - 30 рдпрд╛ 29 рд╡рд╛рдВ рдПрдХ рджреАрд░реНрдШрд╡реГрддреНрдд рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рдП рдмрд┐рдирд╛ рд▓рд┐рдВрдХ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реИ, рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рд╣реИ рдФрд░ рдмрд┐рд▓реНрдХреБрд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рд▓рд┐рдВрдХ рджреВрд╕рд░реЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдПрд▓рд┐рдкреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рд╕реБрд░рдХреНрд╖рд╛
рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рдЬреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЧрд▓рддреА рд╕реЗ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢реВрдиреНрдп рд╕реЗ рдПрдХ рдорд┐рд▓рд┐рдпрди - рд╣рдо
рд╕реНрдЯреЙрдк рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ 50 рдХреЗ рдмрд░рд╛рдмрд░ рджрд░реНрдЬ рдХрд░рдХреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд╕рд╛рде, рдкреЗрдЬрд┐рдиреЗрдЯрд░ 50 рд╕реЗ рдЕрдзрд┐рдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдЕрдВрддрд░рд╛рд▓ (рдкреИрд░рд╛ 7)
рдЬрдм рд░реВрдкрд░реЗрдЦрд╛ рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдмрд╛рдХреА "рд╕реБрд╡рд┐рдзрд╛рдПрдБ" рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИрдВ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрджрд┐ рдбреЗрд╡рд▓рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рд╕реЗ рдЕрд╡рдЧрдд рд╣реИ)ред рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рдкреЗрдЬрд┐рдиреЗрдЯрд░ рдореЗрдВ рдХрдИ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рд▓рд┐рдВрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдХрднреА-рдХрднреА рдпрд╣ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ, рдХрднреА-рдХрднреА рдкреГрд╖реНрдареЛрдВ рдХреА рдЧрд┐рдирддреА рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдкреГрд╖реНрдареЛрдВ рдкрд░ рд░рд┐рдХреЙрд░реНрдбред рдпрд╣ рдкреЗрдЬрд┐рдиреЗрдЯрд░ рдХрд╛ рдереЛрдбрд╝рд╛ рдЕрдиреБрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ "рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж" рд▓рд┐рдВрдХ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдПрдХ рдирдпрд╛ рдкреЗрдЬрд┐рдиреЗрдЯрд░ рд▓рд┐рдЦрдиреЗ рдпрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╕рд╣реА рдкреИрд░рд╛рдореАрдЯрд░ рдЪреБрдирдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдлрд░реНрд╢ рдЬреЛрдбрд╝реЗрдВ ($ n2 div 2)ред рдЗрд╕ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░
рдЪрд░рдг рдХреЗ рд╕рд╛рде, рдкреЗрдЬрд┐рдиреЗрдЯрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред
рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП , рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдкрд╛рдардХ рдПрдХ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП
рдкреЗрдЬрд┐рдиреЗрдЯрд░ рдХреЛ рджреЗрдЦрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рд╡рд╣
spmbt.imtqy.com/spmbt/wk/37.20.115.43.xml рдкрд░
рд╕реНрдерд┐рдд рд╣реИ ред рд▓реЙрдЧ рдкреГрд╖реНрда рдкрд░ рдкрддреЗ рдФрд░ рд▓рд┐рдВрдХ рдмрджрд▓ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╕рдВрдпреЛрдЧ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реЛрддреЗ рд╣реИрдВред рдкреГрд╖реНрда рд╕реНрд╡рд┐рдЪрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕реНрдерд┐рд░ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рд╣рдореЗрд╢рд╛ рдкреГрд╖реНрда 9 рдкрд░ред рд▓реЗрдХрд┐рди рд╢реАрд░реНрд╖ рдкрд░ рд╣рдо рдПрдХ
рд╕реНрдкреИрдЧрд┐рдиреЗрдЯрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ
рд╕реНрдкрдВрдмреНрдЯ.рдЧрд┐рдереБрдмрд┐рдпреЛ.рдЖрдИрдУ / рдПрд╕рдкреАрдПрдордмреАрдЯреА /wk/37.20.115.43.xsl рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреЗрдЬрд┐рдиреЗрдЯрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд▓рд╛рдЗрдиреЗрдВ:
XSLT рдХреЛрдб <?xml version="1.0"?> <!DOCTYPE html> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> ... <div class="pagination"> : <xsl:variable name="url">#page=</xsl:variable> <xsl:variable name="p" select="/ha/page"/> <xsl:comment> </xsl:comment> <xsl:variable name="nL" select="11"/> <xsl:comment> </xsl:comment> <xsl:variable name="pLast" select="/ha/pageLast"/> <xsl:comment> ( ; , )</xsl:comment> <xsl:variable name="pn2" select="$p - floor($nL div 2)"/> <xsl:if test="$pn2 > 1"> <span class=""> <a href="{concat($url, 1)}">1</a> <xsl:if test="$pn2 > 2"> <a class="ellip" title="{floor(($pn2 +1) div 2)}" href="{concat($url, floor(($pn2 +1) div 2) )}">...</a> </xsl:if> </span> </xsl:if> <xsl:call-template name="paginate"> <xsl:with-param name="i" select="$p"/> <xsl:with-param name="nLinks" select="$nL"/> <xsl:with-param name="pLast" select="$pLast"/> <xsl:with-param name="url" select="$url"/> </xsl:call-template> <xsl:if test="string-length($pLast) =0"> <xsl:variable name="nL2" select="5"/> <xsl:variable name="step" select="10"/> <xsl:call-template name="paginate"> <xsl:with-param name="i" select="floor(($p + $nL + $step +1) div $step) * $step + floor($nL2 div 2)"/> <xsl:with-param name="nLinks" select="$nL2"/> <xsl:with-param name="pLast" select="$pLast"/> <xsl:with-param name="step" select="$step"/> <xsl:with-param name="url" select="$url"/> <xsl:with-param name="class" select="'gaps'"/> </xsl:call-template> </xsl:if> <xsl:variable name="pp2" select="$p + floor(($nL -1) div 2)"/> <xsl:if test="$pp2 < $pLast"> <span class=""> <xsl:if test="$pp2 < $pLast -1"> <a class="ellip" title="{$pLast - floor(($pLast - $pp2) div 2)}" href="{concat($url, $pLast - floor(($pLast - $pp2) div 2) )}">...</a> </xsl:if> <a href="{concat($url, $pLast)}"><xsl:value-of select="$pLast"/></a> </span> </xsl:if> </div> </body> </html> </xsl:template> <xsl:template name="paginate"> <xsl:param name="i" select="1"/> <xsl:param name="nLinks"/> <xsl:param name="pLast"/> <xsl:param name="step" select="1"/> <xsl:param name="to" select="$i + $nLinks"/> <xsl:param name="url"/> <xsl:param name="class"/> <xsl:param name="count" select="1"/> <xsl:param name="stop" select="50"/> <xsl:variable name="n2" select="floor($nLinks div 2)"/> <xsl:if test="($i < $to or $count <= $nLinks) and $stop > 0"> <xsl:if test="$i - $n2 >= 1 and $i - $n2 <= $pLast or $i - $n2 >= 1 and string-length($pLast) =0"> <span class="{concat($class,' active', number($i = $to - ceiling($nLinks div 2)))}"> <a href="{concat($url, $i - $n2)}"> <xsl:value-of select="$i - $n2"/> </a> </span> </xsl:if> <xsl:call-template name="paginate"> <xsl:with-param name="i" select="$i + $step"/> <xsl:with-param name="to" select="$to"/> <xsl:with-param name="nLinks" select="$nLinks"/> <xsl:with-param name="pLast" select="$pLast"/> <xsl:with-param name="step" select="$step"/> <xsl:with-param name="url" select="$url"/> <xsl:with-param name="class" select="$class"/> <xsl:with-param name="count" select="$count + number($i - $n2 >= 1 and $i - $n2 <= $pLast or $i - $n2 >= 1 and string-length($pLast) =0)"/> <xsl:with-param name="stop" select="$stop - 1"/> </xsl:call-template> </xsl:if> </xsl:template> </xsl:stylesheet>
ред рдореБрдЦреНрдп рдХреЛрдб рдореЗрдВ 85 рд▓рд╛рдЗрдиреЗрдВ рд▓рдЧреАрдВ - рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ 2 рдЪрдХреНрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - рдкреГрд╖реНрдареЛрдВ рдкрд░ рдФрд░ рджрд░реНрдЬрдиреЛрдВ рдкреГрд╖реНрдареЛрдВ рдкрд░, рдорд╛рдзреНрдпрд┐рдХрд╛ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рджреАрд░реНрдШрд╡реГрддреНрдд рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред IE8 + рдФрд░ рдЕрдиреНрдп рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕рдорд░реНрдерд┐рддред