рдХрд╕реНрдЯрдо рд╕рд╛рдордЧреНрд░реА рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдХреЗ XSS рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП XSLT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ XSS рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЦрддрд░рдирд╛рдХ рдХреНрдпреЛрдВ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдХрдИ рд╕рд╛рдЗрдЯреЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рдлрд╝реЛрд░рдо, рдмреНрд▓реЙрдЧ, рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдЗрддреНрдпрд╛рджрд┐, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреЗрдЬ рдкрд░ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреБрднрд╡рд╣реАрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, WYSIWYG рд╕рдВрдкрд╛рджрдХреЛрдВ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдПрдХ рд╕реБрдВрджрд░ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╕рд╛рди рдФрд░ рд╕реБрдЦрдж рд╣реЛ рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдкреВрд░реЗ рдореЛрд░реНрдЪреЗ рдХреЗ рдкреАрдЫреЗ рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЦрддрд░рд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрдИ рднреА WYSIWYG рд╕рдВрдкрд╛рджрдХ рд╕рд░реНрд╡рд░ рдХреЛ рдХреЗрд╡рд▓ рдкрд╛рда рдирд╣реАрдВ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рднреЗрдЬрддрд╛ рд╣реИ, рдпрд╣ HTML рдХреЛрдб рднреЗрдЬрддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╕рдВрдкрд╛рджрдХ рдЦреБрдж рдЦрддрд░рдирд╛рдХ рдПрдЪрдЯреАрдПрдордПрд▓ рдЯреИрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, <iframe>), рддреЛ рдпрд╣ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рд░реЛрдХ рдирд╣реАрдВ рдкрд╛рдПрдЧрд╛ - рд╡рд╣ рд╕рд░реНрд╡рд░ рдкрд░ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ HTML рдкрд╛рда рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреНрдп рд╕рд╛рдЗрдЯ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЦрддрд░рдирд╛рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдХрдо рд▓реЛрдЧ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ:
<script type="text/javascript">window.location="http://hardcoresex.com/";</script> 

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдкреНрд░рд╛рдкреНрдд HTML рдХреЛрдб рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди "рдлрд╝рд┐рд▓реНрдЯрд░" рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ? рдХрд╛рдиреВрдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдЪрд┐рдд рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рджреНрд╡рд╛рд░рд╛ XSS рд╣рдорд▓рд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ? рдХрд╛рд╢, HTML рдХрд╛рдлреА рдЬрдЯрд┐рд▓ рд╣реИ, рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд╛рд░реНрд╕рд░ рд▓рд┐рдЦрдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рднреА рдЧрд▓рддреА рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рдкрд╛рд╕ рдПрдХ рдЦрд╛рдореА рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд╣ рд╣рдбрд╝рддрд╛рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред


рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди

рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред рддреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
  1. рдкрд░рд┐рдгрд╛рдореА HTML рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░реЗрдВ
  2. рдЗрд╕рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдЯрд╛рдПрдВ рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ
  3. рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдореА рд╕реБрд░рдХреНрд╖рд┐рдд HTML рд▓реМрдЯреЗрдВ

HTML рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдореМрдЬреВрджрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PHP рдореЗрдВ рдпрд╣ рд▓рдЧрднрдЧ рдкреНрд░рд╛рдердорд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
 function htmlToDOM($html) { $doc=new DOMDocument(); $doc->loadHTML($html); return $doc; } 

рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдореА DOM рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореИрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬреЛ рд╣реЛрдЧрд╛:
  1. рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпред рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд╕реЗ, рдореИрдВ рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреА рд╕рднреА рдХрдо рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдкрд╣рд▓реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рд╕реЗ рдЦрддрд░рдирд╛рдХ рдЯреИрдЧ, рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рдиреЛрдВ рдХрд╛ рдЪреВрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
  2. рдпреВрдирд┐рд╡рд░реНрд╕рд▓ред рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореИрдВ HTML рдХреЛ рдПрдХ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдбрд┐рдЧреНрд░реА рдХреЗ рд╕рд╛рде рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ: "рдХреЛрдИ рдЯреИрдЧ рдирд╣реАрдВ, рдХреЗрд╡рд▓ рдкрд╛рда" рд╕реЗ "<iframe> рдЬрд┐рд╕рдореЗрдВ src рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде youtube рдкрддрд╛ рд╣реИ, рдЖрдк рдмрд╛рдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ" рдпрд╛ "<<> рдЯреИрдЧ рд╢реИрд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ" рд▓реЗрдХрд┐рди рд░рдВрдЧ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐-рд░рдВрдЧ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЧреБрдгреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдкрдиреЗ рдореВрд▓реНрдпреЛрдВ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВ тАЭ
  3. рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд░рдиреЗ рдпреЛрдЧреНрдпред рдЗрди рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рддрд░реАрдХреЗ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рд╕рд░рд▓ рдирд┐рдпрдореЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╕рднреА рдЯреИрдЧреНрд╕ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреЗрдХрдорд╛рд░реНрдХ рдФрд░ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдкрд╛рдВрдЪ рд╕реНрдХреНрд░реАрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ

рдореИрдВ рд╕рдордп-рд╕рдордп рдкрд░ рдЗрд╕ рдХрд╛рд░реНрдп рдкрд░ рд▓реМрдЯ рдЖрдпрд╛, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рд╕рдВрддреЛрд╖рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдпрд╣ рдпрд╛ рддреЛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдерд╛ (рд╕реЗрдЯрдЕрдк рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЛрдиреЛрдВ рдореЗрдВ), рдпрд╛ рд╕реАрдорд┐рдд рдирд╣реАрдВред рд╣рд▓ рдЕрдЪрд╛рдирдХ рд╣реА рдЙрдард╛ред рдореИрдВ XML рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП XSL рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрдЭ рдкрд░ dawned: рдЖрдЦрд┐рд░рдХрд╛рд░, XSLT рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд╡рд╛рдВрдЫрд┐рдд рддрддреНрд╡реЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ!

рд╕рдорд╛рдзрд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдКрдкрд░ рдмрддрд╛рдИ рдЧрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ:
  1. рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ред рд╕рднреА рдХрд╛рдо XSLT рдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреНрд░реБрдЯрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдЬрд┐рд╕рдореЗрдВ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдХрдо рд╣реИ,
  2. рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ред XSLT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХрд┐рд╕реА рднреА рдбрд┐рдЧреНрд░реА рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╕рд╛рде рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдирд┐рдпрдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
  3. рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдЖрд╕рд╛рдиреАред рдореМрдЬреВрджрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдлреЗрдж рдпрд╛ рдХрд╛рд▓реА рд╕реВрдЪреА рдореЗрдВ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдЯрд┐рд▓ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬрдЯрд┐рд▓рддрд╛ рддрднреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ рдЬрдм рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред XSLT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХрд┐рд╕реА рднреА XSLT рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рд╛, рд╕рдордЭрд╛ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

XSLT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдмрдирд╛рдирд╛


рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдореИрдВрдиреЗ рдПрдХ XSL рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдЬреЛ рд╕реНрд░реЛрдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рдПрдХ рд╕рд░рд▓ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкрд░рд┐рдгрд╛рдо рдмрддрд╛рддрд╛ рд╣реИред
 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" encoding="utf-8"/> <xsl:template match="@*|*"> <xsl:copy> <xsl:apply-templates select="@*|node()" /> </xsl:copy> </xsl:template> </xsl:stylesheet> 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреВрд░рд╛ рдмрд┐рдВрджреБ рд╣реИ
  <xsl:template match="@*|*"> <xsl:copy> <xsl:apply-templates select="@*|node()" /> </xsl:copy> </xsl:template> 

рдпрд╣ рдЯреБрдХрдбрд╝рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ: рдЯреИрдЧ рдФрд░ рдЙрдирдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВред рдкрд╛рда рддрддреНрд╡реЛрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рдпрдо рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде, рд╕рдВрд╕рд╛рдзрд┐рдд рддрддреНрд╡ рдХреЛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рднреА рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд▓ рддрддреНрд╡реЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдХ рд╣реА рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреЛ рдЫрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрдирдХреЗ рд▓рд┐рдП рдЦрд╛рдХреЗ рдЬреЛрдбрд╝рдиреЗ рд╣реЛрдВрдЧреЗред рдпрд╣рд╛рдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде <script> рдЯреИрдЧ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
  <xsl:template match="script" /> 

рдПрдХ рд▓рд╛рдЗрди! рдпрджрд┐ рдЖрдкрдХреЛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдЯреБрдХрдбрд╝реЗ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рднреА рд▓рд┐рдВрдХ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ:
  <xsl:template match="a"> <xsl:apply-templates /> </xsl:template> 

рдпрд╣ рд╕реНрдирд┐рдкреЗрдЯ <a> рдЯреИрдЧ рд╣рдЯрд╛ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ (рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рд╕реЗ рднреА рд╣рд╛рд░ рдЬрд╛рдПрдЧрд╛)ред рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрд╡рд╛рдВрдЫрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд▓рдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рднреА рддрддреНрд╡реЛрдВ рд╕реЗ рд╢реИрд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ:
  <xsl:template match="@style" /> 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЬрдирдмреА рдХреЗ рд▓рд┐рдП рднреА рдирд┐рдпрдо рд╕рд░рд▓ рд╣реИрдВ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдЯрд┐рдкреНрдкрдгреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рд░ рдЪреАрдЬ рдЬреЛ рдХрд╛рд▓реА рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓реА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЙрд╕реЗ рдзрдХреЗрд▓рдирд╛ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдХрд░рдирд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд╡рд╕рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХреЛрдИ рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдирдП рдЯреИрдЧ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ, рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдирд┐рдпрдо рдЬреЛ рд╕рдордп рдореЗрдВ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдЦрддрд░рд╛ рдкреИрджрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, XSS рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ "рд╢реНрд╡реЗрдд рд╕реВрдЪреА" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рд╕рдордЭрддрд╛ рд╣реВрдВ (рдЬреЛ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ рд╡рд╣ рдирд┐рд╖рд┐рджреНрдз рд╣реИ)

рд╢реНрд╡реЗрддрд╕реВрдЪреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рд╢реНрд╡реЗрддрд╕реВрдЪреА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд┐рдпрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
  <xsl:template match="*"> <xsl:apply-templates /> </xsl:template> <xsl:template match="@*" /> 

рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрдорддрд┐ рдирд┐рдпрдореЛрдВ рдХреЗ рдмрд┐рдирд╛, рдпрд╣ HTML рдХреЛрдб рд╕реЗ рдХреЗрд╡рд▓ рдкрд╛рда рддрддреНрд╡реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛, рд╕рднреА рдЯреИрдЧ рдФрд░ рдЙрдирдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛ (рдпрджрд┐ рдЖрдк рдЕрд▓рдЧ рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рд░реАрдбрд┐рдВрдЧ рдХреЛ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛)ред рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓рд┐рдВрдХ рдФрд░ рдЪрд┐рддреНрд░ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
  <xsl:template match="a|img"> <xsl:copy> <xsl:apply-templates select="@*|node()" /> </xsl:copy> </xsl:template> 

рдпрд╣ рдирд┐рдпрдо рдЯреИрдЧ рдХреЛ рд╕реНрд╡рдпрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрдирдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдирд╣реАрдВ - рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдЯреИрдЧ рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ:
  <xsl:template match="a/@href|img/@src"> <xsl:copy /> </xsl:template> 

рдпрд╣ рдирд┐рдпрдо <a> рдЯреИрдЧ рдкрд░ href рд╡рд┐рд╢реЗрд╖рддрд╛ рдФрд░ <img> рдЯреИрдЧ рдкрд░ src рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рдХреЛрдИ рд╕рдВрддрд╛рди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдореА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдирд┐рдпрдо рдореЗрдВ, рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рддреНрдпрд╛рдкрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд▓рд┐рдВрдХ http: // рдпрд╛ https: // рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рдЗрд╕ рддрд░рд╣ рдбреЗрдЯрд╛ рдЬреИрд╕реЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓рддрд╛ рд╣реИ : // )
  <xsl:template match="a[@href]"> <xsl:variable name="target" select="@href" /> <xsl:choose> <xsl:when test="starts-with($target, 'http://')"> <xsl:copy> <xsl:apply-templates select="@*|node()" /> </xsl:copy> </xsl:when> <xsl:otherwise> <xsl:apply-templates /> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="a/@href"> <xsl:copy/> </xsl:template> 

рдЗрд╕ рдирд┐рдпрдо рдореЗрдВ, рд▓рд┐рдВрдХ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░, рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП, рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЯреИрдЧ рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдП рдпрд╛ рдирд╣реАрдВред рдЯреИрдЧ <href рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдмрд┐рдирд╛ <рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рдпрдо рдХреЗ рддрд╣рдд рдЧрд┐рд░ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рддрд░реНрдХ рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ:
  <xsl:template match="a[@href]"> <xsl:copy> <xsl:apply-templates select="@*|node()" /> </xsl:copy> </xsl:template> <xsl:template match="a/@href"> <xsl:variable name="target" select="." /> <xsl:if test="starts-with($target, 'http://')"> <xsl:copy/> </xsl:if> </xsl:template> 

рдПрдХ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рд▓рд┐рдВрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ rel = "nofollow" рдЬреЛрдбрд╝рдирд╛ рд╣реИ:
  <xsl:template match="a[@href]"> <xsl:copy> <xsl:attribute name="rel">nofollow</xsl:attribute> <xsl:apply-templates select="@*|node()" /> </xsl:copy> </xsl:template> 

рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╕рдмрд╕реЗ рдХрдард┐рди рдорд╛рдорд▓рд╛: рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рдХрд╛ рд╣реЗрд░рдлреЗрд░ред рдореИрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рддреИрдпрд╛рд░ рдХреА рдЧрдИ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реВрдВрдЧрд╛ - рд╢реИрд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реВрдВрдЧрд╛, рд░рдВрдЧ рдФрд░ рдкреГрд╖реНрдарднреВрдорд┐-рд░рдВрдЧ рдЧреБрдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЗрд╕рдХреЗ рдореВрд▓реНрдп рд╕реЗ рд╕рдм рдХреБрдЫ рд╣рдЯрд╛ рджреВрдВрдЧрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдРрд╕рд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрдирд╛рдПрдВ рдЬреЛ рдХрд┐рд╕реА рдПрдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдореВрд▓реНрдп рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╛ рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ:
  <xsl:template name="filter-style-value"> <xsl:param name="value" /> <xsl:variable name="key" select="substring-before($value, ':')" /> <xsl:if test="($key = 'color') or ($key = 'background-color')"> <xsl:value-of select="$value" /> </xsl:if> </xsl:template> 

рдЕрдм рджреВрд╕рд░рд╛ рдЪрд░рдг: рдореВрд▓реНрдп рдХреЗ рд╕рднреА рдЧреБрдгреЛрдВ рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рдирд╛ рдФрд░ рд╡реИрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛:
  <xsl:template name="filter-style"> <xsl:param name="value" /> <xsl:param name="filtered" select="''" /> <xsl:choose> <!--        --> <xsl:when test="contains($value, ';')"> <!--        --> <xsl:variable name="head" select="substring-before($value, ';')" /> <xsl:variable name="tail" select="substring-after($value, ';')" /> <!--    --> <xsl:variable name="fltr"> <xsl:call-template name="filter-style-value"> <xsl:with-param name="value" select="$head" /> </xsl:call-template> </xsl:variable> <!--    --> <xsl:call-template name="filter-style"> <xsl:with-param name="value" select="$tail" /> <xsl:with-param name="filtered"> <!--         (     ) --> <xsl:choose> <xsl:when test="string-length($fltr) > 0"> <xsl:value-of select="concat($filtered, $fltr, ';')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$filtered" /> </xsl:otherwise> </xsl:choose> </xsl:with-param> </xsl:call-template> </xsl:when> <!--      --> <xsl:otherwise> <!--  --> <xsl:variable name="fltr"> <xsl:call-template name="filter-style-value"> <xsl:with-param name="value" select="$value" /> </xsl:call-template> </xsl:variable> <!--    --> <xsl:choose> <xsl:when test="string-length($fltr) > 0"> <xsl:value-of select="concat($filtered, $fltr, ';')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$filtered" /> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:template> 

рдпрд╣ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдФрд░ рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рднреА рд╣реИред рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд╣рд╛рдпрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рджреЛрд╣рд░рд╛рдП рдЧрдП рдХреЛрдб рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдХреЗ рдЗрд╕реЗ рдХреБрдЫ рд╣рдж рддрдХ рд╕рд░рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдХрд╛рдо рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЦреИрд░, рдЕрдВрддрд┐рдо рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯреИрдЧ рдЫрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ:
  <xsl:template match="p[@style]"> <xsl:variable name="style" select="@style" /> <xsl:copy> <xsl:attribute name="style"> <xsl:call-template name="filter-style"> <xsl:with-param name="value" select="@style"/> </xsl:call-template> </xsl:attribute> <xsl:apply-templates /> </xsl:copy> </xsl:template> 

рдирд┐рд╖реНрдХрд░реНрд╖


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдореИрдВ рдШреЛрд╖рд┐рдд рд▓рдХреНрд╖реНрдп рдХреЗ рдЬрд┐рддрдирд╛ рдХрд░реАрдм рдЖрдпрд╛ рдерд╛ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рд▓рдЪреАрд▓реЗ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред рдореИрдВ рддреБрд░рдВрдд рдЖрд░рдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рджрд┐рдП рдЧрдП XSL рдореЗрдВ рдЕрд╢реБрджреНрдзрд┐рдпрд╛рдВ рд╣реИрдВ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдпрд╣ рдХреЛрдб рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдмрдЪрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд░реВрдкрд╛рдВрддрд░рдг рдПрдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝рддреЗ рд╕рдордпред рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдЧрд╛ред

рдЕрдВрдд рддрдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рдореБрджрд╛рдп рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдорджрджрдЧрд╛рд░ рдкрд╛рдПрдЧрд╛ред

Source: https://habr.com/ru/post/In171557/


All Articles