рдЬрд╝реЗрди рд░рд┐рдкреЛрд░реНрдЯреНрд╕ рдФрд░ Cach├й рдореЗрдВ рдПрдХреНрд╕реЗрд▓ рд░рд┐рдкреЛрд░реНрдЯ рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП XML.Writer%

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдПрдордПрд╕ рдПрдХреНрд╕реЗрд▓ xml рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╡рд┐рд╡рд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдЖрдкрдХреЛ xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреАрдврд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Excel рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред Cach├й DBMS рдореЗрдВ xml рдмрдирд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдпрд╣ рдЖрд▓реЗрдЦ рджреЛ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдЧрд╛, рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рдПрдордПрд╕ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдХреБрд╢рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдиреЗ рд╡рд╛рд▓реА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рддрд░реАрдХреЗ: рдЬрд╝реЗрди рд░рд┐рдкреЛрд░реНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░% XML.Writer рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред

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


рд╕рд╛рдорд╛рдиреНрдп рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдпреЛрдЬрдирд╛


рдХреИрд╢ рдореЗрдВ, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ (рдпрд╣рд╛рдВ рд╣рдо рджреАрдкрд╕реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЕрд░реНрдз-рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ)ред рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ ZEN рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рдЙрдкрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ XHTML рдФрд░ PDF рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рдЪрдХреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдХреЗрд╡рд▓ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
ZEN рддрдХрдиреАрдХ рдФрд░ рдЕрдиреНрдп Cach├й рд╕реБрд╡рд┐рдзрд╛рдУрдВ (рдиреАрдЪреЗ рдЖрдВрдХрдбрд╝рд╛ рджреЗрдЦреЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ MS Excel рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рддрдВрддреНрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

Xls рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдЬрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдЗрд╕ рдпреЛрдЬрдирд╛ рдореЗрдВ рддреАрди рдЪрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: 1) рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдЬрд╝реЗрди рд░рд┐рдкреЛрд░реНрдЯреНрд╕ рддрдХрдиреАрдХ рдпрд╛ Cach├й рдорд╛рдирдХ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ xml рдлрд╝рд╛рдЗрд▓ (рдЗрдирдкреБрдЯ xml) рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; 2) рдПрдХреНрд╕рдПрд╕рдПрд▓ рдкрд░рд┐рд╡рд░реНрддрди рддрдВрддреНрд░ (рдПрдХреНрд╕рдЯреЗрдиреНрд╕рд┐рдмрд▓ рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рд▓реИрдВрдЧреНрд╡реЗрдЬ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдПрдХреНрд╕рдПрдордПрд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдкреВрд░реНрд╡-рддреИрдпрд╛рд░ рд░рд┐рдкреЛрд░реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; 3) рдПрдХреНрд╕реЗрд▓ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ (xls) xml рд░рд┐рдкреЛрд░реНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рднрд░рдиреЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ XSL рдЖрд╡реЗрд╖рдг рдХреЗ рд╕рд╛рде рдЗрдирдкреБрдЯ xml рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрдирдкреБрдЯ xml рдлрд╝рд╛рдЗрд▓ рд╕рдВрд░рдЪрдирд╛


рдЪреВрдВрдХрд┐ xml рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, xml рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдЪрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдВрддрддрдГ, рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрдерд╛рд╕рдВрднрд╡ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред Xml рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЗрдирдкреБрдЯ xml рдХрд╛ рдореВрд▓ рддрддреНрд╡ "рдкрд╛рдареНрдпрдХреНрд░рдо" рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ Cicl рдЪрдХреНрд░ рднреА рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВред рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реЗрд╖ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдиреАрдЪреЗ рд╡рд┐рд╖рдпреЛрдВ рдФрд░ рдЙрдирдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдПред
рд╡рд░реНрдгрд┐рдд рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг xml рдлрд╝рд╛рдЗрд▓ред
<?xmlversion="1.0" encoding="UTF-8"?> <Curriculum> <CurrName>  </CurrName> <Cicl> <CiclName>  1</CiclName> <CodeOfCicl> </CodeOfCicl> <Block> <BlocName> 1</BlocName> <Disciplines> <Discipline> <DiscName> 1</DiscName> <Exam></Exam> <Zachet></Zachet> <KR></KR> <KP></KP> <chAll></chAll> <chGos></chGos> <chKsr></chKsr> <chAud></chAud> <chSamRab></chSamRab> <naBlock></naBlock> <Zet></Zet> <semestr1> <Lec></Lec> <Lab></Lab> <Pra></Pra> <KSR></KSR> </semestr1> . . . </Discipline> <Discipline> <DiscName> 2</DiscName> <Exam></Exam> <Zachet></Zachet> <KR></KR> <KP></KP> <chAll></chAll> <chGos></chGos> <chKsr></chKsr> <chAud></chAud> <chSamRab></chSamRab> <naBlock></naBlock> <Zet></Zet> <semestr1> <Lec></Lec> <Lab></Lab> <Pra></Pra> <KSR></KSR> </semestr1> . . . </Discipline> . . . </Disciplines> </Block> . . . </Cicl> . . . </Curriculum> 


рд╕реНрд░реЛрдд xml рдкреАрдврд╝реА


рд╕реНрд░реЛрдд xml рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:% XML.Writer рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдЬрд╝реЗрди рд░рд┐рдкреЛрд░реНрдЯ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

% XML.Writer рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд░реЛрдд xml рдмрдирд╛рдирд╛

рдКрдкрд░ рд╡рд░реНрдгрд┐рдд xml рд╕рдВрд░рдЪрдирд╛ рдХреЛ XML.Writer рд╡рд░реНрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
  1. рд░реВрдЯ рдПрд▓реАрдореЗрдВрдЯ рдмрдирд╛рдПрдВ
    fWriter рдХрд░реЛ ред RootElement ( "рдореВрд▓ рддрддреНрд╡ рдирд╛рдо" )
    fWriter рдХрд░реЛ ред EndRootElement ()
  2. рдЖрдЗрдЯрдо рдмрдирд╛рдПрдВ
    fWriter рдХрд░реЛ ред рддрддреНрд╡ ( "рддрддреНрд╡ рдирд╛рдо" )
    fWriter рдХрд░реЛ ред рд▓рд┐рдЦреЗрдВ ( рддрддреНрд╡ рдорд╛рди )
    fWriter рдХрд░реЗрдВ ред рдПрдВрдбрдЗрдореЗрдВрдЯ ()
  3. рд╡рд┐рд╢реЗрд╖рддрд╛ рдмрдирд╛рдПрдБ
    fWriter рдХрд░реЛ ред WriteAttribute ( "рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо" , "рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди" )

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, XML.Writer рдХреЗ рдкрд╛рд╕ рдПрдХ рдРрд╕рд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдкрд╛рд╕ рджрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд▓реЗрдЦрдХред рд░реВрдЯрдСрдмреНрдЬреЗрдХреНрдЯ ( "рдСрдмреНрдЬреЗрдХреНрдЯ рдиреЗрдо" )

рдПрдХ рдкрд╛рдареНрдпрдХреНрд░рдо рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдореЗрдВ, рд░реВрдЯрдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд┐рдзрд┐ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реБрдИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрд╢рд╛рд╕рди рд╡рд░реНрдЧ рдореЗрдВ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рд╕рд╣реА рдирд╣реАрдВ рдерд╛ред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдЖрдЙрдЯрдкреБрдЯ xml рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рднреА рддрддреНрд╡ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЧрдП рдереЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, spReport.spExcelWriter рдХреНрд▓рд╛рд╕ рдХреЛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ genWriterData рдореЗрдердб (iDSelectCur As% Integer) рд╢рд╛рдорд┐рд▓ рд╣реИ рддрд╛рдХрд┐ рдПрдХ xml рдлрд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХреЗ рдЬрд┐рд╕рдореЗрдВ рдЪрдпрдирд┐рдд рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рдЖрдИрдбреА рдкрд╛рд╕ рд╣реЛред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдбреЗрдЯрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдЙрдЯрдкреБрдЯ xml рдлрд╝рд╛рдЗрд▓ рдПрдХ рдФрд░ OutputToFile рд╡рд┐рдзрд┐ ("path \ filename.xml") рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред

рдЬреЗрди рд░рд┐рдкреЛрд░реНрдЯреНрд╕ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд░реЛрдд xml рдмрдирд╛рдирд╛

рдЬрд╝реЗрди рд░рд┐рдкреЛрд░реНрдЯреНрд╕ рдХреИрдЪреА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдФрд░ рдЗрд╕реЗ xml рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рддрдВрддреНрд░ рд╣реИ, рдЬреЛ рдХреБрдЫ рд╕реАрдорд╛рдПрдВ рд▓рдЧрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рдЗрд╕ рд╡рд┐рдзрд┐ рдореЗрдВ ZEN.Report.reportPage рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХреИрдЪ-рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╝реЗрди рд░рд┐рдкреЛрд░реНрдЯ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ XData ReportDefinition block рднрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ XML рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП SQL рдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ XData ReportDefinition block рдФрд░ fetch data рдмрдирд╛рдиреЗ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдкреНрд░рд╢реНрди рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП XData ReportDefinition рдмреНрд▓реЙрдХ рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИред
XData ReportDefinition [ XMLNamespace = " www.intersystems.com/zen/report/defition" ]
{
< рд░рд┐рдкреЛрд░реНрдЯ xmlns = " www.intersystems.com/zen/report/definition" рдирд╛рдо = "рдкрд╛рдареНрдпрдХреНрд░рдо" sql = "sp.cCurriculum WHERE рдЖрдИрдбреА = рд╕реЗ * рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ?" >
< рдкреИрд░рд╛рдореАрдЯрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '..idCurr' />
< рддрддреНрд╡ рдирд╛рдо = "CurrName" рдлрд╝реАрд▓реНрдб = "рдирд╛рдо" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetCountFCInCur (% val, 1)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕реБрдореВрд░реНрдЬрд╛" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetCountFCInCur (% val, 2)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetCountFCInCur (% val, 4)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetCountFCInCur (% val, 3)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetComTimeInCur (% val, 6)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetComTimeInCur (% val, 1)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рдорд░рдЧреЛрд╕" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetComTimeInCur (% val, 2)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetComTimeInCur (% val, 3)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetComTimeInCur (% val, 4)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetComTimeInCur (% val, 5)" />

< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "sumCurseme1" >
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumCurLec" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) .getTimeInCur (% val, 1,1)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetTimeInCur (% val, 1,2)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) редgetTimeInCur (% val, 1,3)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumCurKsr" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCurriculum) .getTimeInCur (% val, 1,4)" />
</ рд╕рдореВрд╣ >
...
< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "Cicls" sql = "рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ * Sp.cCicl рд╕реЗ рдХрд╣рд╛рдБ рдкрд╛рдареНрдпрдХреНрд░рдо =?" >
< рдкреИрд░рд╛рдореАрдЯрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '..idCurr' />

< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "Cicl" >
< рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо = "CiclName" рдлрд╝реАрд▓реНрдб = "рдирд╛рдо" />
< рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо = "CodeOfCicl" рдлрд╝реАрд▓реНрдб = "CodeOfCicl" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumCiclEx" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCicl) редgetCountFCInCicl (% val, 1)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumCiclZa" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCicl) .getCountFCInCicl (% val, 2)" />ред
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCicl) .getCountFCInCicl (% val, 4)" />ред
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCicl) .getCountFCInCicl (% val, 3)" />ред
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumCiclchAll" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cicicl) .getComTimeInCicl (% val, 1)" />ред
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumCiclchGos" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cicicl) .getComTimeInCicl (% val, 2)" />ред
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cicicl) .getComTimeInCicl (% val, 3)" />ред
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cicicl) .getComTimeInCicl (% val, 4)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cicicl) .getComTimeInCicl (% val, 5)" />ред
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCicl) .getComTimeInCicl (% val, 6)" />

< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "sumCiclseme1" >
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumCiclLec" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCicl) .getTimeInCicl (% val, 1,1)" />ред
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumCiclLab" рдлрд╝реАрд▓реНрдб = "ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCicl) .getTimeInCicl (% val, 1,2)" />
< рддрддреНрд╡ рдирд╛рдо = "sumCiclPra" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cCicl) .getTimeInCicl (% val, 1,3)" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumCiclKsr" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = "## рд╡рд░реНрдЧ (sp.cicicl) .getTimeInCicl (% val, 1,4)" />ред
</ рд╕рдореВрд╣ >
...
< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "рдмреНрд▓реЙрдХ" sql = "рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ * рд╕реЗ sp.cBlock рдЬрд╣рд╛рдВ Cicl ="? рдмреНрд░реЗрдХрдСрдирдлрд┐рд▓реНрдб = "рдЖрдИрдбреА" >
< рдкреИрд░рд╛рдореАрдЯрд░ рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" />

< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "рдмреНрд▓реЙрдХ" >
< рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо = "рдмреНрд▓реЙрдХрдирд╛рдо" рдлрд╝реАрд▓реНрдб = "рдирд╛рдо" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "countEx" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (spBBlock) .getCountFCInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (")ред Cicl "), 1) ' />
< рддрддреНрд╡ рдирд╛рдо = "countZa" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (spBBlock) .getCountFCInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (" Cicl "), 2) ' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "countKR" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (spBBlock) .getCountFCInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (" Cicl "), 3) ' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "countKP" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (spBBlock) .getCountFCInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (" Cicl "), 4) ' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumBAll" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (spBBlock) .getComTimeInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (") Cicl "), 1) ' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cBlock) .getComTimeInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (" Cicl "), 2) ' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (spBBlock) .getComTimeInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (") Cicl "), 3) ' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cBlock) .getComTimeInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (" Cicl "), 4) ' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumBSR" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (spBBlock) .getComTimeInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (") Cicl "), 5) ' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumBZET" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cBlock) .getComTimeInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (" Cicl "), 6) ' />

< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "sumBseme1" >
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (spBBlock) .getTimeInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (") Cicl "), 1,1) ' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рд╛рд░рд╛рдВрд╢" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (spBBlock) .getTimeInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (") Cicl "), 1,2) ' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд╕рдордмрдкреНрд░" рдлрд╝реАрд▓реНрдбреНрд╕ = "рд╕рд╛рдЗрдХрд▓, рдирд╛рдо, рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cBlock) .getTimeInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (" Cicl "), 1,3) ' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "sumBKSR" рдлрд╝реАрд▓реНрдб = "Cicl, рдирд╛рдо, рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cBlock) .getTimeInBlock (% val ("ID"),% val ("рдирд╛рдо"),% val (" Cicl "), 1,4) ' />
</ рд╕рдореВрд╣ >
...
< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "рдЕрдиреБрд╢рд╛рд╕рди" sql = "рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ * Sp.cDiscipline рд╕реЗ рдпрд╣рд╛рдБ (Blok =? рдФрд░ Cicl =? рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдЕрд╢рдХреНрдд)" breakOnField = "ID" >
< рдкреИрд░рд╛рдореАрдЯрд░ рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" />
< рдкреИрд░рд╛рдореАрдЯрд░ рдлрд╝реАрд▓реНрдб = "Cicl" />

< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "рдЕрдиреБрд╢рд╛рд╕рди" >
< рддрддреНрд╡ рдирд╛рдо = "рдбрд┐рд╕реНрдХрдирд╛рдо" рдлрд╝реАрд▓реНрдб = "рдирд╛рдо" />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рдкрд░реАрдХреНрд╖рд╛" рдХреНрд╖реЗрддреНрд░ = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getFormContr (% val, 1)' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рдЬрд╝реИрдЪреЗрдд" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) редgetFormContr (% val, 2)' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "KR" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getFormContr (% val, 3)' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "KP" рдлрд╝реАрд▓реНрдб = "ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getFormContr (% val, 4)' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "chAll" рдлрд╝реАрд▓реНрдб = "ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getComTime (% val, 1)' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "chGos" рдлрд╝реАрд▓реНрдб = "ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getComTime (% val, 2)' />
< рддрддреНрд╡ рдирд╛рдо = "chssr" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getComTime (% val, 4)' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рдЪрд╛рдЙрдб" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getComTime (% val, 3)' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "chSamRab" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getComTime (% рд╡реИрд▓, 5)' />ред
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "Zet" рдлрд╝реАрд▓реНрдб = "ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline .getComTime (% val, 6)' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "naBlock" рдлрд╝реАрд▓реНрдб = "ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getNameBlock (.. idCurr,% val)' />

< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "seme1" >
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "Lec" рдлрд╝реАрд▓реНрдб = "ID" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getTime (% val, 1,1)' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рд▓реИрдм" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getTime (% val, 1,2)' />
< рддрддреНрд╡ рдХрд╛ рдирд╛рдо = "рдкреНрд░рд╛" рдХреНрд╖реЗрддреНрд░ = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getTime (% val, 1,3)' />
< рддрддреНрд╡ рдирд╛рдо = "рдХреЗрдПрд╕рдЖрд░" рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '## рд╡рд░реНрдЧ (sp.cDiscipline) .getTime (% рд╡реИрд▓, 1,4)' />
</ рд╕рдореВрд╣ >
...
</ рд╕рдореВрд╣ >
</ рд╕рдореВрд╣ >
</ рд╕рдореВрд╣ >
</ рд╕рдореВрд╣ >
</ рд╕рдореВрд╣ >
</ рд╕рдореВрд╣ >
</ рд░рд┐рдкреЛрд░реНрдЯ >
}

рдЬреЗрди рд░рд┐рдкреЛрд░реНрдЯ рдПрдХреНрд╕рдПрдордПрд▓ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреА рд╣реИ - рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ xml рдкреНрд░рд╛рд░реВрдк рдкрд░ рдХреБрдЫ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк xml рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕реЗ рдереЛрдбрд╝реА рдЕрд▓рдЧ рд╣реИ: Cicls рдФрд░ Blocks рдиреЛрдбреНрд╕, рдЬрд┐рд╕рдореЗрдВ Cicl рдФрд░ Block рд╕рдмрдиреЙрдбреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЙрддреНрдкрдиреНрди xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред
рд╣рдо рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг 1. рдЪрдпрдирд┐рдд рдкрд╛рдареНрдпрдХреНрд░рдо рдХреА рдЖрдИрдбреА рдХреЛ рдПрд╕рдХреНрдпреВрдПрд▓ рдЕрдиреБрд░реЛрдз рддрддреНрд╡ рдореЗрдВ рдкрд╛рд╕ рдХрд░рдирд╛ред
< рд░рд┐рдкреЛрд░реНрдЯ sql = "рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ * Sp.cCurriculum рдХреА рдЖрдИрдбреА рдХрд╣рд╛рдВ рд╕реЗ =?" >

рдЕрдЧрд▓рд╛, рдЪрд░ рдХреЗ рдорд╛рди рдХреЗ рд╕рд╛рде рдкреИрд░рд╛рдореАрдЯрд░ ..idCurr рдХреЛ рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ "?"
< рдкреИрд░рд╛рдореАрдЯрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '..idCurr' />

рд╡реЗрд░рд┐рдПрдмрд▓ ZenReport class рдХрд╛ рдЧреБрдг рд╣реИ рдФрд░ рдЬрдм рд░рд┐рдкреЛрд░реНрдЯ рдЬрдирд░реЗрд╢рди рдореЗрдердб рдХрд╣рд▓рд╛рддрд╛ рд╣реИ, рддреЛ idCurr рд╡реИрд▓реНрдпреВ рдореЗрдердб рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдХрд░рдВрдЯ рдХрд░рдВрдЯ рдХреЗ id рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рд╡реИрд▓реНрдпреВ рд▓реЗрддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг 2. рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЬреЛ SQL рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рд╢реНрддреЗ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реВрдк:
< рд╕рдореВрд╣ sql = "рдЪрдпрди рдХрд░реЗрдВ * sp.cCicl рд╕реЗ рдХрд╣рд╛рдБ рдХрд░реЗрдВ рдкрд╛рдареНрдпрдХреНрд░рдо =?" >
< рдкреИрд░рд╛рдореАрдЯрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '..idCurr' />
< рд╕рдореВрд╣ sql = "рдЪрдпрди рдХрд░реЗрдВ * Sp.cBlock рд╕реЗ рдпрд╣рд╛рдВ Cicl =?" рдмреНрд░реЗрдХрдСрдирдлрд┐рд▓реНрдб = "рдЖрдИрдбреА" >
< рдкреИрд░рд╛рдореАрдЯрд░ рдлрд╝реАрд▓реНрдб = "рдЖрдИрдбреА" />
</ рд╕рдореВрд╣ >
</ рд╕рдореВрд╣ >

рдпрд╣рд╛рдВ, рд╡рд┐рд╢реЗрд╖рддрд╛ рдмреНрд░реЗрдХрдСрдирдлрд┐рд▓реНрдб = "рдЖрдИрдбреА" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рдЖрдИрдбреА" рдХрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдо "рдЪрдХреНрд░" рдХреЗ рд▓рд┐рдП рд╕рдореВрд╣реАрдХрд░рдг рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред
< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "Cicls" sql = "рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ * Sp.cCicl рд╕реЗ рдХрд╣рд╛рдБ рдкрд╛рдареНрдпрдХреНрд░рдо =?" >
< рдкреИрд░рд╛рдореАрдЯрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ = '..idCurr' />
< рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "Cicl" >
< рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо = "CiclName" рдлрд╝реАрд▓реНрдб = "рдирд╛рдо" />
< рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо = "CodeOfCicl" рдлрд╝реАрд▓реНрдб = "CodeOfCicl" />
...
</ рд╕рдореВрд╣ >
...
</ рд╕рдореВрд╣ >

рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╕рдореВрд╣реАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрддреНрдкрдиреНрди XML рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдм рдирд┐рдореНрди рд░реВрдк рд╣реИред
 <?xml version="1.0" encoding='utf-8'?> тАж <Cicls> <Cicl> <Blocks> <Block> <Disciplines>тАж</Disciplines> </ Block> </ Blocks> </Cicl> тАж <Cicl> <Blocks> <Block> <Disciplines>тАж</Disciplines> </ Block> </ Blocks> </Cicl> тАж </Cicls> 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, XSL рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рди рдХреЗ рджреМрд░рд╛рди рд▓реВрдк рдХреА рдХреЙрд▓ рдмрджрд▓ рдЬрд╛рдПрдЧреА (XSL рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИ):
  <xsl:for-each select = тАЭ./Cicls/CiclтАЭ><xsl:for-each> 

рд╣рдо рдХреБрдЫ рдирд┐рдпрдо рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рддреЗ рд╕рдордп рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  1. рддрд╛рд▓рд┐рдХрд╛ 1 рд╕реЗ рдирд╛рдо рдлрд╝реАрд▓реНрдб рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
    < рд░рд┐рдкреЛрд░реНрдЯ sql = "рддрд╛рд▓рд┐рдХрд╛ 1 рд╕реЗ рдирд╛рдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ" >
    < рддрддреНрд╡ рдирд╛рдо = "рдП" рдлрд╝реАрд▓реНрдб = "рдирд╛рдо" />
  2. рдирд╛рдо рдлрд╝реАрд▓реНрдб рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА:
    < рд░рд┐рдкреЛрд░реНрдЯ sql = "рддрд╛рд▓рд┐рдХрд╛ 1 рд╕реЗ рдирд╛рдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ" >
    < рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо = "рдП" рдлрд╝реАрд▓реНрдб = "рдирд╛рдо" />
  3. рдирд╛рдо рдлрд╝реАрд▓реНрдб Table2 рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
    < рд░рд┐рдкреЛрд░реНрдЯ sql = "рддрд╛рд▓рд┐рдХрд╛ 1 рд╕реЗ рдирд╛рдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ" >
    < рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "рдирд╛рдо" sql = "рддрд╛рд▓рд┐рдХрд╛ 2 рдХрд╛ рдЪрдпрди рдирд╛рдо рдЬрд╣рд╛рдВ ..." >
    < рддрддреНрд╡ рдирд╛рдо = "рдП" рдлрд╝реАрд▓реНрдб = "рдирд╛рдо" />
  4. рдирд╛рдо рдлрд╝реАрд▓реНрдб Table1 рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
    < рд░рд┐рдкреЛрд░реНрдЯ sql = "рддрд╛рд▓рд┐рдХрд╛ 1 рд╕реЗ рдирд╛рдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ" >
    < рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо = "рдирд╛рдо" sql = "рддрд╛рд▓рд┐рдХрд╛ 2 рдХрд╛ рдЪрдпрди рдирд╛рдо рдЬрд╣рд╛рдВ ..." >
    < рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╛рдо = "рдП" рдлрд╝реАрд▓реНрдб = "рдирд╛рдо" />


рдПрдХреНрд╕реЗрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдПрдБ


XSL рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдПрдХ Excel рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ xml рд╕реЗ рдбреЗрдЯрд╛ рдбрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХреНрд╕реЗрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреАрди рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВред
рдЪрд░рдг рд╕рдВрдЦреНрдпрд╛ 1ред рдПрдХреНрд╕реЗрд▓ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдмрдирд╛рддрд╛ рд╣реИред
рдЪрд░рдг рд╕рдВрдЦреНрдпрд╛ 2ред рдЯреЗрдореНрдкрд▓реЗрдЯ xml рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИред
Xml рдЬрдирд░реЗрдЯреЗрдб рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ред
 <?xml version="1.0"?> <?mso-application progid="Excel.Sheet"?> <Workbook 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" xmlns:html="http://www.w3.org/TR/REC-html40"> <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> <Author>Microsoft Corporation</Author> <LastAuthor>AlexandeR</LastAuthor> <LastPrinted>2012-10-31T10:28:49Z</LastPrinted> <Created>1996-10-08T23:32:33Z</Created> <LastSaved>2012-11-24T12:30:48Z</LastSaved> <Version>11.9999</Version> </DocumentProperties> <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> <WindowHeight>7320</WindowHeight> <WindowWidth>9720</WindowWidth> <WindowTopX>120</WindowTopX> <WindowTopY>120</WindowTopY> <RefModeR1C1/> <AcceptLabelsInFormulas/> <ProtectStructure>False</ProtectStructure> <ProtectWindows>False</ProtectWindows> <DisplayInkNotes>False</DisplayInkNotes> </ExcelWorkbook> <Styles> <Style ss:ID="Default" ss:Name="Normal"> <Alignment ss:Vertical="Bottom"/> <Borders/> <Font/> <Interior/> <NumberFormat/> <Protection/> </Style> <Style ss:ID="s374"> <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/> <Font ss:FontName="Arial Cyr" x:CharSet="204" x:Family="Swiss" ss:Bold="1" ss:Italic="1"/> <Protection/> </Style> . . . <Worksheet ss:Name=""> <Table> <Column ss:AutoFitWidth="0" ss:Width="14.25" ss:Span="66"/> <Row> <Cell ss:MergeAcross="66" ss:StyleID="s374"><Data ss:Type="String">     </Data></Cell> </Row> . . . <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> <PageSetup> <PageMargins x:Bottom="0.984251969" x:Left="0.78740157499999996" x:Right="0.78740157499999996" x:Top="0.984251969"/> </PageSetup> <Print> <ValidPrinterInfo/> <PaperSizeIndex>9</PaperSizeIndex> <HorizontalResolution>600</HorizontalResolution> <VerticalResolution>600</VerticalResolution> </Print> <Selected/> <Panes> <Pane> <Number>3</Number> <ActiveRow>25</ActiveRow> <ActiveCol>74</ActiveCol> </Pane> </Panes> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> <AllowSort/> <AllowFilter/> </WorksheetOptions> </Worksheet> <Worksheet ss:Name=""> . . . </Worksheet> </Workbook> 


рдЙрдкрд░реЛрдХреНрдд рд╕реНрдирд┐рдкреЗрдЯ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╢реИрд▓рд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдЬреЛ рддрдм рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
  <Style ss:ID="s374"> <Alignment ss:Horizontal="Center" ss:Vertical="Bottom"/> <Font ss:FontName="Arial Cyr" x:CharSet="204" x:Family="Swiss" ss:Bold="1" ss:Italic="1"/> <Protection/> </Style> 

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрд▓ рдЗрд╕ рд╢реИрд▓реА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ:
 <Cell ss:MergeAcross="66" ss:StyleID="s374"><Data ss:Type="String">     </Data></Cell> 

рд╡рд░реНрдХрд╢реАрдЯ рддрддреНрд╡ рдПрдХ рдПрдХреНрд╕реЗрд▓ рд╡рд░реНрдХрдмреБрдХ рдореЗрдВ рд╢реАрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
 <Worksheet ss:Name=""> . . . </Worksheet> 

рддрд╛рд▓рд┐рдХрд╛ рддрддреНрд╡ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реИред рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ "рдкрдВрдХреНрддрд┐" рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдкрдВрдХреНрддрд┐рдпрд╛рдБ, "рд╕реЗрд▓" рдХреЛрд╢рд┐рдХрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВред
рдЪрд░рдг 3. рдХрд┐рд╕реА рднреА рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдХрд░ xml рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИрдВ: ss: ExpandedColumnCount = "67"; ss: ExpandedRowCount = "45"; x: FullColumns = "1"; x: FullRows = "1", рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рд╡рд┐рд╖рдпреЛрдВ рдХреА рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ "рддрд╛рд▓рд┐рдХрд╛" рддрддреНрд╡ рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдмрд░рдХрд░рд╛рд░ рд░рдЦрддрд╛ рд╣реИ, рддреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмреЗрдореЗрд▓ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдПрдХ Excel рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧреАред Ss рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рднреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ: <Rowss: AutoFitHeight = "0" ss: Height = "13.5"> рдкрд░ рдКрдБрдЪрд╛рдИ рд╡рд┐рд╢реЗрд╖рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рд░реЗрдЦрд╛ рдмрд╣реБрдд рд▓рдВрдмреА рд╣реИ рдФрд░ рдмреЙрдХреНрд╕ рдХрд╣рддрд╛ рд╣реИ "рд╡рд░реНрдб рд░реИрдк, рддреЛ рд╡рд░реНрдб рд░реИрдк рдирд╣реАрдВ рд╣реЛрдЧрд╛ред" рдПрдХреНрд╕реЗрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЙрддреНрдкрдиреНрдиред

XSL рдкрд░рд┐рд╡рд░реНрддрди


Xml рдбреЗрдЯрд╛ рдореЗрдВ xml рдбреЗрдЯрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдорд╛рдирдХ рд╡рд┐рдзрд┐ (рд╡рд░реНрдЧ% XML.XSLT.Transformer рдореЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд XSL рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢реЗрд╖ xml рдмреНрд▓реЙрдХ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рддреИрдпрд╛рд░ рдПрдХреНрд╕реЗрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ XSL рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд XSL рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
  1.  <xsl:for-each select = ""> </xsl:for-each> 
  2.  <xsl:value-of select = ""/> 

<Xsl: for-рдкреНрд░рддреНрдпреЗрдХ select = ""> </ xsl: for-рдкреНрд░рддреНрдпреЗрдХ> рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕реЗрдЯ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ xml рддрддреНрд╡ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред <Xsl: select = "" /> рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдорд╛рди рдЖрдкрдХреЛ рдЪрдпрдирд┐рдд рдиреЛрдб рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рдПрдХреНрд╕реЗрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ XSL рдбрд╛рд▓рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
 <Table> <xsl:for-each select="Curriculum"> <xsl:for-each select="./Cicl"> <Row> <Cell> <Data ss:Type="String"><xsl:value-of select="./CiclName"/></Data> </Cell> </Row> <xsl:for-each select="./Block"> <Row> <Cell> <Data ss:Type="String"><xsl:value-of select="./BlocName"/></Data> </Cell> </Row> <xsl:for-each select="./Disciplines/Discipline"> <Row> <Cell> <Data ss:Type="String"><xsl:value-of select="./DiscName"/></Data> </Cell> </Row> </xsl:for-each> </xsl:for-each> </xsl:for-each> </xsl:for-each> </Table> 

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдПрдХреНрд╕реЗрд▓ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ, рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк рдореЗрдВ, рд╕рднреА "Cicl" рддрддреНрд╡ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдЪрдХреНрд░ рдореЗрдВ (рд╡рд┐рд╖рдпреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╕рдореВрд╣) рд╕рднреА "рдмреНрд▓реЙрдХ" рддрддреНрд╡, рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдореЗрдВ / рдЕрдиреБрд╢рд╛рд╕рди / рдЕрдиреБрд╢рд╛рд╕рди рддрддреНрд╡реЛрдВ рддрдХ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝реАрд▓реНрдб <xsl: value -seselect = "./ DiscName" />, i.e. рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рдирд╛рдоред
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ XSL рддрддреНрд╡реЛрдВ рдХреЛ рд╕рд╣реА рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдзрд┐ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдПрдХреНрд╕реЗрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ xml рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ xls рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ рдЬрд┐рд╕реЗ рдЙрд╕реА рдХрдХреНрд╖рд╛ рдХреЗ XData рдмреНрд▓реЙрдХ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдиреАрдЪреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, XData рдмреНрд▓реЙрдХ рдХреЛ "xsl" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

ClassMethod generateReportStadyPlan ( % рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдЙрдЯрдлрд╛рдЗрд▓рдирд╛рдо ) % рд╕реНрдерд┐рддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ
{
xslStream = ## рд╡рд░реНрдЧ ( % Dictionary.CompiledXData ) рд╕реЗрдЯ рдХрд░реЗрдВред % OpenId (.. % ClassName (1) _ "|| xsl" )ред рдбреЗрдЯрд╛
xmlStream = ## рд╡рд░реНрдЧ ( % FileBinaryStream ) рд╕реЗрдЯ рдХрд░реЗрдВред % рдирдпрд╛ ()
xmlStream рд╕реЗрдЯ рдХрд░реЗрдВ ред рдлрд╝рд╛рдЗрд▓ рдирд╛рдо = "xml рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде"

рд╕реЗрдЯ рдЖрдЙрдЯрд╕реНрдЯреНрд░реАрдо = ## рдХреНрд▓рд╛рд╕ ( % FileCharacterStream )ред % рдирдпрд╛ ()
рд╕реЗрдЯ рдЖрдЙрдЯ ред TranslateTable = "UTF8"
рд╕реЗрдЯ рдЖрдЙрдЯ ред рдлрд╝рд╛рдЗрд▓ рдирд╛рдо = outFileName

sc = ## рд╡рд░реНрдЧ ( % XML.XSLT.Transformer )ред TransformStream ( xmlStream , xslStream ; OutStream )

рдЕрдЧрд░ $$$ ISERR ( sc ) рдиреЗ sc рдЫреЛрдбрд╝ рджрд┐рдпрд╛

рдмрд╛рд╣рд░ рдЫреЛрдбрд╝реЛ ред % рдмрдЪрд╛рдУ ()
}

Xdata xsl
{
< xsl: рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ рд╕рдВрд╕реНрдХрд░рдг = "1.0" xmlns: xsl = " www.w3.org/1999/XSL/Transform"
xmlns = "рдХрд▓рд╢: рд╕реНрдХреАрдорд╛-рдорд╛рдЗрдХреНрд░реЛрд╕рд╛реЕрдо-рдХреЙрдо: рдХрд╛рд░реНрдпрд╛рд▓рдп: рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ"
xmlns: o = "рдХрд▓рд╢: рд╕реНрдХреАрдорд╛-рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлрд╝реНрдЯ-рдХреЙрдо: рдХрд╛рд░реНрдпрд╛рд▓рдп: рдХрд╛рд░реНрдпрд╛рд▓рдп"
xmlns: x = "urn: рд╕реНрдХреАрдорд╛-рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлрд╝реНрдЯ-рдХреЙрдо: рдСрдлрд╝рд┐рд╕: рдПрдХреНрд╕реЗрд▓"
xmlns: ss = "urn: schemas-microsoft-com: рдХрд╛рд░реНрдпрд╛рд▓рдп: рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ" >
< xsl: рдЯреЗрдореНрдкрд▓реЗрдЯ рдорд┐рд▓рд╛рди = "/" >
< xsl: рд╕рдВрд╕рд╛рдзрди-рдирд┐рд░реНрджреЗрд╢ рдирд╛рдо = "mso-application" >
< xsl: рдкрд╛рда > progid = "Excel.Sheet" </ xsl: рдкрд╛рда >
</ xsl: рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг-рдирд┐рд░реНрджреЗрд╢ >

<! тАФтАФ рдПрдХреНрд╕реЗрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕реНрдерд╛рди ->
</ xsl: рдЯреЗрдореНрдкрд▓реЗрдЯ >
</ xsl: рд╕реНрдЯрд╛рдЗрд▓рд╢реАрдЯ >
}

рдЬрд╝реЗрди рд░рд┐рдкреЛрд░реНрдЯ рдФрд░% XML.Writer рдХреА рддреБрд▓рдирд╛


рддрдВрддреНрд░рд▓рд╛рднрдХрдорд┐рдпреЛрдВ
рдЬрд╝реЗрди рдХреА рд░рд┐рдкреЛрд░реНрдЯ1. рдЕрдирд╛рд╡рд╢реНрдпрдХ рджрд┐рдирдЪрд░реНрдпрд╛ рдХреЗ рдХрд╛рдо рдХреЛ рдЦрддреНрдо рдХрд░рддрд╛ рд╣реИ
2. рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реИ, рдХреЛрдИ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдмрд╡рд╛рд╕реАрд░ рдирд╣реАрдВ рд╣реИ
3. рдзрд╛рд░рдгрд╛ рдХреА рдЖрд╕рд╛рдиреА
рдЖрдЙрдЯрдкреБрдЯ xml рдХреА рд╕рдВрд░рдЪрдирд╛ рдмрджрддрд░ рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реИ, рдЖрдкрдХреЛ рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛
% XML.WriterрдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рдХрд┐рд╕реА рднреА xml рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВрд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреА рдЬрдЯрд┐рд▓рддрд╛

MAC UUP рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЬрд┐рд╕рдореЗрдВ Cach├й рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдЕрдиреБрдорд╛рди рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЖрдк% sp .eport.spExcelWriter, рдЬреЛ% XML рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд╝реЗрди рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ% ZEN.Report.reportPage рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд░рд┐рдкреЛрд░реНрдЯ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдкреНрд░рдХреНрд╖реЗрдкрдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЗрд╕рдХреЗ рддрд░реАрдХреЗ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, XML.riter рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдЙрдЯрдкреБрдЯ xml рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рдХрдареЛрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЬрдЯрд┐рд▓ рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдЬрд╝реЗрди рд░рд┐рдкреЛрд░реНрдЯ рддрдВрддреНрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╡рд░рдг рдФрд░ рд╢реНрд░рдо рддреАрд╡реНрд░рддрд╛ рдореЗрдВ рдХрдореА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

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


All Articles