рдореЗрд░рд╛ рдкрддрд╛ рдШрд░ рдпрд╛ рдЧрд▓реА рдирд╣реАрдВ рд╣реИ, рдореЗрд░рд╛ рдкрддрд╛ рд╕реЛрд╡рд┐рдпрдд рд╕рдВрдШ рд╣реИ?

рдЕрдкрдиреА рдЬреЗрдм рдореЗрдВ microBIGDATA рдпрд╛ FIAS


рдкреАрдЯрд░ рдмреНрд░реБрдЧрд▓ рдж рдпрдВрдЧрд░, рдЯреИрдХреНрд╕ рдкреЗрдореЗрдВрдЯ , 1640

рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд╢реЗрд╡рд░ рдкрд░ рдЕрдВрддрд┐рдо рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЧрдИред рд╣рдо рдпреБрджреНрдз рдореЗрдВ рдЯреЛрд╣ рд▓реЗрддреЗ рд░рд╣реЗрдВрдЧреЗред рдЖрдЬ рд╣рдо рдореБрд╢реНрдХрд┐рд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдмрдбрд╝реА рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ - рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ред рд╣рд░ рдХреЛрдИ рдкреВрд░реЗ рд░реИрдо рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХреБрдЫ рдбрд┐рд╕реНрдХ рдкрд░ рднреА рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рдкрд░реНрдпрд╛рдкреНрдд рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрдЪрд░рд╛)ред рд╣рдорд╛рд░реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд╛ рдирд╛рдо FIAS рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрдШреАрдп рдкрддрд╛ рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИред 5.5 рдЬреАрдмреА рд╕рдВрдЧреНрд░рд╣ред рдФрд░ рдпрд╣ рдПрдХ XML рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рдВрдХреБрдЪрд┐рдд рд╣реИред рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдХ рдкреВрд░реНрдг 53 рдЬреАрдмреА (рдЕрдирдкреИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░ 110 рдЬреАрдмреА) рд╣реЛрдЧрд╛ред рдФрд░ рдЬрдм рдЖрдк рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ 110 рдЬреАрдмреА рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд░реИрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд░рд╛рд╢рд┐ рднреА рд╣реЛрдЧреАред

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

рдпрд╛ рдПрдХ рдХрд╛рдлреА рдкреНрд░рд╕рд┐рджреНрдз OpenStreetMaps рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ред рдпрд╣ рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмрд╣реБрдд рд╡рд┐рд╕реНрддреГрдд рдФрд░ рдмрд╣реБрднрд╛рд╖реАред рдЕрдм 74 рдЬреАрдмреА рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдХреБрдЪрд┐рдд рдПрдХреНрд╕рдПрдордПрд▓ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕рдВрдЧреНрд░рд╣ред
рдЕрдЧрд░ рд╡реЗ рдкрддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЦрдмрд░ рдбрдХ рдбрдХрдЧреЛ рд╕реЗ рд╕рдордп рдкрд░ рдЖ рдЧрдИ , рдЬреЛ рдЖрдЬ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЦреЛрдЬ рдЗрдВрдЬрди рд╣реИ, рдЬреЛ рдХрд┐ рдРрдкреНрдкрд▓ рдХрд╛рд░реНрдб рдореЗрдВ рдЗрд╕рдХреЗ рд╕рдВрдХреНрд░рдордг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ Apple MapKit JS рдкрд░ред рд╣рдорд╛рд░реЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ "рдмреЗрд╣рддрд░ рдкрддрд╛ рдЦреЛрдЬ" рд╣реИред рдХреНрдпрд╛ Apple рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдмрд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЗрдХрдЯреНрдард╛ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ? рдпрд╣ рдЯреНрд░реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ ...
рддреЛ рдЪреБрдиреМрддреАред рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрдЦрдж рднрдВрдбрд╛рд░ рдореЗрдВ рдпрд╣ рд╕рдм рдкрддрд╛ рдзрди рдХреИрд╕реЗ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдП, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдПрдХ рдореБрдлреНрдд рдПрдкреАрдЖрдИ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рдореЗрдВ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдкрдирд╛ рджреЗрдЦ рд╕рдХреЗрдВ, рдФрд░ рдЕрдкрдиреЗ рдкреНрд░рд┐рдп рд▓реЛрд╣реЗ рдХреЛ рдмрд┐рдирд╛ рдкрдврд╝реЗ рд╣реБрдП рд▓реЛрдб рдкрд░ рди рдЬрд╛рдиреЗ рджреЗрдВред рдЗрд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдЗрдЧрдбрд╛рдЯрд╛ рдХрд╣рддреЗ рд╣реИрдВ - рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ mcBD рдпрд╛ ╬╝BG :-)

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

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

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рдХреА рдХрдХреНрд╖рд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдРрд╕реА рд╡рд╕реНрддреБрдПрдБ рд╣реИрдВред рд╕реАрдзреЗ рдкрд╛рдареНрдпрдкреБрд╕реНрддрдХ рд╕реЗ , рднрд▓реЗ рд╣реА рдЕрдореЗрд░рд┐рдХреА, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реА рд░реВрд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрд┐рдд - рдЙрдирдХреЗ рдЬрд╝рд┐рдк рдХреЗ рдмрдЬрд╛рдп, рд╣рдорд╛рд░реЗ рдкреЛрд╕реНрдЯрдХреЛрдб рд╣реЛрдВрдЧреЗред рдореИрдВ рдПрдХ рдирдВрдмрд░ рдХреЗ рд╕рд╛рде рдЬрд╝рд┐рдк рдХреЛрдб рдХреЛ рднреА рдмрджрд▓реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдПрдХрд░рд╕рддрд╛ рдХреЗ рдХрд╛рд░рдг рдореИрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВред рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдХрд┐рд╕реА рднрд╛рд╖рд╛ рдХреЛ рддреБрд░рдВрдд рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдЬреИрд╕реЗ рдЙрддреНрд╕рд╛рд╣рд╡рд░реНрдзрдХ рд╣реИред

Class Soviet.Address Extends %Persistent { Property streetName As %String; Property cityName As %String; Property areaName As %String; Property postalCode As %String; } 

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

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣ рд╕рдм рд╣реИ рдЬрд┐рд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЦреЗрддреЛрдВ рдореЗрдВ рднрд░рд╛ред рднрдВрдбрд╛рд░рдг рдореЗрдВ рд░рдЦреЗрдВред рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рддред рдХрд┐рд╕реА рдХреЗ рдЖрдЧреЗ рдЖрдЧреЗ рдШреБрд╕рдирд╛ред рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд!
рд▓реЗрдХрд┐рди рдХреБрдЫ рд╢рдмреНрдж рдХреНрдпреЛрдВ рдпрд╣ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдорд╛рд░рд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдбреНрд░реЗрд╕ рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рд╕рд┐рд░реНрдл рдЯреЗрдХреНрд╕реНрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдЖрдкрддреНрддрд┐рдпрд╛рдВ рдЬреЛ рдорди рдореЗрдВ рдЖрддреА рд╣реИрдВ рд╡реЗ рд╕рдВрджрд░реНрдн рд╕реЗ рдЖрддреА рд╣реИрдВ - рдЬреЛ рдЗрд╕ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдХрд┐рд╕ рд░реВрдк рдореЗрдВ рдФрд░ рдХрд┐рд╕ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рдХрд░рддрд╛ рд╣реИ? рдЕрдкрдиреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЛрдЪ рдХреЛ рдЕрд▓рдЧ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдПрдХ "рд╡рд┐рджреЗрд╢реА рдкрд░реНрдпрдЯрдХ", "рдЗрддрд┐рд╣рд╛рд╕рдХрд╛рд░", "рдХрд░ рдирд┐рд░реАрдХреНрд╖рдХ", "рд╡рдХреАрд▓" рдЗрддреНрдпрд╛рджрд┐ред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рддреБрд░рдВрдд рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рдореЗрдЬрдмрд╛рди рдкреИрджрд╛ рд╣реЛрддрд╛ рд╣реИ: рдХрд┐рд╕ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдФрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдбрд┐рдВрдЧ рдХрд░рдирд╛ рд╣реИ, рдХрд┐рд╕ рдпреБрдЧ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдирд╛ рд╣реИ, рдХреНрдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА, рдХрд╛рдиреВрдиреА рдпрд╛ рдкреЛрд╕реНрдЯрд▓ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ? рдПрдХ рд╢рд╣рд░ рдХрд╛ рдирд╛рдо рдмрд╕реНрддреА рд╣реИ рдпрд╛ рдХреНрдпрд╛? рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╕рдбрд╝рдХ рдПрдХ рдмреБрд▓реЗрд╡рд╛рд░реНрдб, рдПрдХ рд╕рд╛рдЗрдб рд╕реНрдЯреНрд░реАрдЯ, рдПрд╡реЗрдиреНрдпреВ рдпрд╛ рдХреБрдЫ рдФрд░ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрди рд╕рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?

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

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреВрд░рд╛ рд╡рд┐рдЬреНрдЮрд╛рди рдЗрд╕ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ - рдЕрдиреБрдкреНрд░рдпреБрдХреНрдд рд╕рд╛рдордпрд┐рдХрддрд╛ ред
рддреЛ рд╕рд╡рд╛рд▓ рднреАрдЦ рдорд╛рдБрдЧрддреЗ рд╣реИрдВред рд╕рдордп рдФрд░ рддрд╛рд░реАрдЦ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВ? рдХреНрдпрд╛ рдкреИрд╕рд╛ рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рд╣реИ ? рдХреНрдпрд╛ рднреМрдЧреЛрд▓рд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЗрддрдиреЗ рд╕рд░рд▓ рд╣реИрдВ? рдФрд░ рдпрд╣ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдЕрдореВрд░реНрдд рдХреЗ рд╕реНрддрд░ рдХреЛ рдХрдо рдХрд┐рдП рдмрд┐рдирд╛ рдЪрдпрдирд┐рдд DBMS рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдкрд░рдорд╛рдгреБ рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╢реАрди рдбреЗрдЯрд╛ рдореЗрдВ рдХреИрд╕реЗ рди рдлрд┐рд╕рд▓реЗрдВ рдФрд░ рдЙрдирдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рд╕реЛрдЪреЗрдВ? рдпрд╣рд╛рдБ рдпрд╣ рдПрдХ рдЖрджрд┐рдо рдпрд╛, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдзреНрд╡рдирд┐ рдПрдкреАрдЖрдИ рдХреЗ рд╕реНрд░реЛрдд рдХреА рддрд▓рд╛рд╢ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдЕрдкрдиреЗ рдЕрд╡рдХрд╛рд╢ рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЛред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╕рдВрджрд░реНрдн рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рд╣рдореЗрдВ "рдорд╢реАрди рдбреЗрдЯрд╛" рдХреЗ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдФрд░ рд╕рдВрджрд░реНрдн-рд╕рдВрд╡реЗрджрдирд╢реАрд▓ "рд▓рд╛рдЗрд╡" рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реАрдзреЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред рдирд╣реАрдВ рд╣реИ рдХрд┐ рдирд┐рдореНрди рд╕реНрддрд░ рдХреЗ tuples рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдмрд╛рд╣рд░ ;-)

рдЗрд╕ рдмреАрдЪ, рд╣рдореЗрдВ "рдЖрджрд┐рдо" рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╣рдорд╛рд░реЗ рдЬреАрд╡рди рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред рдпрд╣реА рд╣реИ, рд╣рдо рддреБрд░рдВрдд рд╕рд╣реА рдкрддреЗ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рддрд▓рд╛рд╢ рдХрд░реЗрдВрдЧреЗред рдЙрд╕реА рд╕рдордп, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдлрд╝реАрд▓реНрдб рднрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпреБрдХреНрддрд┐рдпрд╛рдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред
рдЬрдм рджреЛ рд▓реЛрдЧ рдПрдХ рдЬрдЧрд╣ - рдЧреНрд░рдВрдереЛрдВ рдФрд░ рдЗрдВрдЯрд░рд╕рд┐рд╕реНрдЯрдо рдЖрдИрдЖрд░рдЖрдИрдПрд╕ рдбреЗрдЯрд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдЗрдХрдЯреНрдард╛ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рдорд╢реАрди рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдкреВрд░реНрдг рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрд╡рд╕рд░ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ iKnow рдФрд░ iFind ред рдпреЗ рдХреНрд░рдорд╢рдГ рдЕрд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛ рдФрд░ рдкреВрд░реНрдг-рдкрд╛рда рдЦреЛрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдШрдЯрдХ рд╣реИрдВред рд░реВрд╕реА "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░" рд╕рдорд░реНрдерд┐рдд рд╣реИред
рдкрд╣рд▓реЗ рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗ, рд╣рдо рдореВрд▓ рд╕реНрд░реЛрдд рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрддрд╛ рд╕рд┐рдЦрд╛рдПрдВрдЧреЗред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╕рдВрдШреАрдп рдХрд░ рд╕реЗрд╡рд╛ рдХреЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдореЗрдВ XML рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рддреИрдпрд╛рд░ рд╡рд┐рд╡рд░рдг рд╣реИред FIAS рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдбреЗрдЯрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╣рдореЗрдВ ADDROBJ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, AS_ADDROBJ_2_250_01_04_01_01.xsd рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ

рдЕрдЧрд▓рд╛, рд╣рдо XSD рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХрдирд╡рд░реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ% XML.Adaptor рд╡рд░реНрдЧ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖реЗрддреНрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗ, рдХреГрдкрдпрд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП IRIS рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкреНрд░рддрд┐рд╢рдд рд╕рдВрдХреЗрдд рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдПрдХ рд╡рд░реНрдЧ рд╣реИред рдЙрдкрдпреЛрдЧ рдХреЗ рд╡рд┐рд╡рд░рдг рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╣реИрдВ ред рд╣рдо рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдкрд░рд┐рдЪрд╛рд▓рди рдХрд░реЗрдВрдЧреЗред

 set xmlScheme = ##class(%XML.Utils.SchemaReader).%New() do xmlScheme.Process("http://localhost/AS_ADDROBJ_2_250_01_04_01_01.xsd") 

рдЗрд╕реЗ Atelier IDE (рдЯреВрд▓> рдПрдб-рдЗрди> XML рд╕реНрдХреАрдорд╛ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдореЗрдиреВ рдореЗрдВ) рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рдорд╛рди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЕрд░реНрдерд╛рддреН рдкрд░рд┐рдгрд╛рдореА рдХрдХреНрд╖рд╛рдПрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо, рд╡реЗ рдЯреЗрд╕реНрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдПред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреВрд╕рд░реА рдХрдорд╛рдВрдб рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВрдиреЗ рдкрд╛рдпрдерди рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреАрдо рдлрд╛рдЗрд▓ рджреА:

 python3 -m http.server 80 

рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп http-рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдкрд╕рдВрдж рд╣реИред рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдиреЗ рдЖрдИрдЖрд░рдЖрдИрдПрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рд╕реАрдзрд╛ рд░рд╛рд╕реНрддрд╛ рдмрддрд╛рдПрдВред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рд╡рд░реНрдЧ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдкрддрд╛ рдпреЛрдЧреНрдп XML рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ:

Test.AddressObjects
 ///            Class Test.AddressObjects Extends (%Persistent, %XML.Adaptor) [ ProcedureBlock ] { Parameter XMLNAME = "AddressObjects"; Parameter XMLSEQUENCE = 1; ///    Relationship Object As Test.Object(XMLNAME = "Object", XMLPROJECTION = "ELEMENT") [ Cardinality = many, Inverse = AddressObjects ]; } 

Test.Object
 ///  : http://localhost:28869/AS_ADDROBJ_2_250_01_04_01_01.xsd Class Test.Object Extends (%Persistent, %XML.Adaptor) [ ProcedureBlock ] { Parameter XMLNAME = "Object"; Parameter XMLSEQUENCE = 1; ///      Property AOGUID As %String(MAXLEN = 36, MINLEN = 36, XMLNAME = "AOGUID", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///   Property FORMALNAME As %String(MAXLEN = 120, MINLEN = 1, XMLNAME = "FORMALNAME", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///   Property REGIONCODE As %String(MAXLEN = 2, MINLEN = 2, XMLNAME = "REGIONCODE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///   Property AUTOCODE As %String(MAXLEN = 1, MINLEN = 1, XMLNAME = "AUTOCODE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///   Property AREACODE As %String(MAXLEN = 3, MINLEN = 3, XMLNAME = "AREACODE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///   Property CITYCODE As %String(MAXLEN = 3, MINLEN = 3, XMLNAME = "CITYCODE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///    Property CTARCODE As %String(MAXLEN = 3, MINLEN = 3, XMLNAME = "CTARCODE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///    Property PLACECODE As %String(MAXLEN = 3, MINLEN = 3, XMLNAME = "PLACECODE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///     Property PLANCODE As %String(MAXLEN = 4, MINLEN = 4, XMLNAME = "PLANCODE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///   Property STREETCODE As %String(MAXLEN = 4, MINLEN = 4, XMLNAME = "STREETCODE", XMLPROJECTION = "ATTRIBUTE"); ///     Property EXTRCODE As %String(MAXLEN = 4, MINLEN = 4, XMLNAME = "EXTRCODE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///      Property SEXTCODE As %String(MAXLEN = 3, MINLEN = 3, XMLNAME = "SEXTCODE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///   Property OFFNAME As %String(MAXLEN = 120, MINLEN = 1, XMLNAME = "OFFNAME", XMLPROJECTION = "ATTRIBUTE"); ///   Property POSTALCODE As %String(MAXLEN = 6, MINLEN = 6, XMLNAME = "POSTALCODE", XMLPROJECTION = "ATTRIBUTE"); ///    Property IFNSFL As %String(MAXLEN = 4, MINLEN = 4, XMLNAME = "IFNSFL", XMLPROJECTION = "ATTRIBUTE"); ///      Property TERRIFNSFL As %String(MAXLEN = 4, MINLEN = 4, XMLNAME = "TERRIFNSFL", XMLPROJECTION = "ATTRIBUTE"); ///    Property IFNSUL As %String(MAXLEN = 4, MINLEN = 4, XMLNAME = "IFNSUL", XMLPROJECTION = "ATTRIBUTE"); ///      Property TERRIFNSUL As %String(MAXLEN = 4, MINLEN = 4, XMLNAME = "TERRIFNSUL", XMLPROJECTION = "ATTRIBUTE"); /// OKATO Property OKATO As %String(MAXLEN = 11, MINLEN = 11, XMLNAME = "OKATO", XMLPROJECTION = "ATTRIBUTE"); /// OKTMO Property OKTMO As %String(MAXLEN = 11, MINLEN = 8, XMLNAME = "OKTMO", XMLPROJECTION = "ATTRIBUTE"); ///    Property UPDATEDATE As %Date(XMLNAME = "UPDATEDATE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///     Property SHORTNAME As %String(MAXLEN = 10, MINLEN = 1, XMLNAME = "SHORTNAME", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///    Property AOLEVEL As %Integer(XMLNAME = "AOLEVEL", XMLPROJECTION = "ATTRIBUTE", XMLTotalDigits = 10) [ Required ]; ///     Property PARENTGUID As %String(MAXLEN = 36, MINLEN = 36, XMLNAME = "PARENTGUID", XMLPROJECTION = "ATTRIBUTE"); ///   .  . Property AOID As %String(MAXLEN = 36, MINLEN = 36, XMLNAME = "AOID", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///        Property PREVID As %String(MAXLEN = 36, MINLEN = 36, XMLNAME = "PREVID", XMLPROJECTION = "ATTRIBUTE"); ///        Property NEXTID As %String(MAXLEN = 36, MINLEN = 36, XMLNAME = "NEXTID", XMLPROJECTION = "ATTRIBUTE"); ///           4.0. Property CODE As %String(MAXLEN = 17, MINLEN = 0, XMLNAME = "CODE", XMLPROJECTION = "ATTRIBUTE"); ///      4.0      (  ) Property PLAINCODE As %String(MAXLEN = 15, MINLEN = 0, XMLNAME = "PLAINCODE", XMLPROJECTION = "ATTRIBUTE"); ///     .     .      . /// 0 тАУ   /// 1 -  Property ACTSTATUS As %Integer(XMLNAME = "ACTSTATUS", XMLPROJECTION = "ATTRIBUTE", XMLTotalDigits = 10) [ Required ]; ///   Property CENTSTATUS As %Integer(XMLNAME = "CENTSTATUS", XMLPROJECTION = "ATTRIBUTE", XMLTotalDigits = 10) [ Required ]; ///     тАУ    (.   OperationStatus): /// 01 тАУ ; /// 10 тАУ ; /// 20 тАУ ; /// 21 тАУ  ; /// 30 тАУ ; /// 31 -     ; /// 40 тАУ    (); /// 41 тАУ     ; /// 42 -        ; /// 43 -         ; /// 50 тАУ ; /// 51 тАУ     ; /// 60 тАУ    ; /// 61 тАУ        Property OPERSTATUS As %Integer(XMLNAME = "OPERSTATUS", XMLPROJECTION = "ATTRIBUTE", XMLTotalDigits = 10) [ Required ]; ///    4 (    ) Property CURRSTATUS As %Integer(XMLNAME = "CURRSTATUS", XMLPROJECTION = "ATTRIBUTE", XMLTotalDigits = 10) [ Required ]; ///    Property STARTDATE As %Date(XMLNAME = "STARTDATE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///    Property ENDDATE As %Date(XMLNAME = "ENDDATE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///      Property NORMDOC As %String(MAXLEN = 36, MINLEN = 36, XMLNAME = "NORMDOC", XMLPROJECTION = "ATTRIBUTE"); ///     Property LIVESTATUS As %xsd.byte(VALUELIST = ",0,1", XMLNAME = "LIVESTATUS", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///  : /// 0 -   /// 1 - ; /// 2 - - Property DIVTYPE As %xsd.int(VALUELIST = ",0,1,2", XMLNAME = "DIVTYPE", XMLPROJECTION = "ATTRIBUTE") [ Required ]; Relationship AddressObjects As Test.AddressObjects(XMLPROJECTION = "NONE") [ Cardinality = one, Inverse = Object ]; } 


FIAS рдореЗрдВ xml- рдлрд╛рдЗрд▓реЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рд╕реЗ рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рдХреНрд╖реЗрддреНрд░реЛрдВ, рд╢рд╣рд░реЛрдВ рдФрд░ рд╕рдбрд╝рдХреЛрдВ рдХреЗ рдирд╛рдо рд╣реЛрдВрдЧреЗред рдкреНрд░рдХрд╛рд╢рди рдХреА рддреИрдпрд╛рд░реА рдХреЗ рд╕рдордп, рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдерд╛:
AS_ADDROBJ_20190106_90809714-fe22-45b2-929c-52bd950963e0.XML

рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рди рддреЛ рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рди рд╣реА рдЫреЛрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ 3 рдЬреАрдмреА рд╣реИред рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЯреЗрдХреНрд╕реНрдЯ рдЯреВрд▓ рд╕реЗ рдирд╣реАрдВ рдЦреЛрд▓рд╛ рд╣реИ - рд╡реЗ рдЗрд╕ рдЖрдХрд╛рд░ рдХреЛ рдирд╣реАрдВ рдкрдЪрд╛рддреЗ рд╣реИрдВред
рд╡реИрд╕реЗ, InterSystems IRIS рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╢рд╛рдмреНрджрд┐рдХ (рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░) рдХреА рдЕрдзрд┐рдХрддрдо рд▓рдВрдмрд╛рдИ 3,641,144 рд╡рд░реНрдгреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реАрдзреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдпрд╛ рдЙрд╕рдореЗрдВ URL рдлреЗрд▓ рд╣реЛрдирд╛ред рдЕрдиреНрдп рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдбреЗрдЯрд╛ рдХреА рд╕реНрдЯреНрд░реАрдо (рд╕реНрдЯреНрд░реАрдо) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдЗрддрдиреА рд▓рдВрдмрд╛рдИ рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ?

рдХреБрдХрд┐рдВрдЧ FIAS рднрд░рд╡рд╛рдВ рдорд┐рд░реНрдЪред рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЕрджреНрднреБрдд рднрд╡рд┐рд╖реНрдп рдХреА рддреИрдпрд╛рд░реА рд╣реИред рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рдорд┐рд▓рддрд╛ рд╣реИред рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдЗрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 Class FIAS.AddressObject Extends (%Persistent, %XML.Adaptor) [ ProcedureBlock ] { Parameter XMLNAME = "Object"; Parameter XMLSEQUENCE = 1; ///      Property AOGUID As %String(MAXLEN = 36, MINLEN = 36, XMLNAME = "AOGUID", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///   Property OFFNAME As %String(MAXLEN = 120, MINLEN = 1, XMLNAME = "OFFNAME", XMLPROJECTION = "ATTRIBUTE"); ///   Property POSTALCODE As %String(MAXLEN = 6, MINLEN = 6, XMLNAME = "POSTALCODE", XMLPROJECTION = "ATTRIBUTE"); ///     Property SHORTNAME As %String(MAXLEN = 10, MINLEN = 1, XMLNAME = "SHORTNAME", XMLPROJECTION = "ATTRIBUTE") [ Required ]; ///    Property AOLEVEL As %Integer(XMLNAME = "AOLEVEL", XMLPROJECTION = "ATTRIBUTE", XMLTotalDigits = 10) [ Required ]; ///     Property PARENTGUID As %String(MAXLEN = 36, MINLEN = 36, XMLNAME = "PARENTGUID", XMLPROJECTION = "ATTRIBUTE"); ///   .  . Property AOID As %String(MAXLEN = 36, MINLEN = 36, XMLNAME = "AOID", XMLPROJECTION = "ATTRIBUTE") [ Required ]; 

рдЗрд╕рдХреЗ рдмрд╛рдж, рд▓реЗрдЦрди рдХрд░реЗрдВ ред рд╣рдо рдПрдХ рдРрд╕реА рд╡рд╕реНрддреБ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ XML рдХреЛ рдореВрд▓ рд╕рдордЭрддреА рд╣реИ - рд╣рдо% XML.Reader рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдПрдХ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

 set reader = ##class(%XML.Reader).%New() 

рдФрд░ рд╣рдо рдЙрд╕реЗ рд╣рд┐рджрд╛рдпрдд рджреЗрддреЗ рд╣реИрдВ, рдХрд┐ рдХрд┐рд╕реЗ рд▓реЗрдирд╛ рд╣реИ, рдФрд░ рдмрд╛рдХреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рд╣реИред рд╣рдо рдПрдХ рд╕реЗрд╡рд╛рд░рдд рд▓реЗрдВрдЧреЗ:

 do reader.Correlate("Object","FIAS.AddressObject") 

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

 set url="http://localhost/AS_ADDROBJ_20190106_90809714-fe22-45b2-929c-52bd950963e0.XML" write reader.OpenUrl(url) 

рдорд╣рддреНрд╡рдкреВрд░реНрдг! рдЗрд╕ рд╕рдордп, рдмрд╣реБрдордд рдЬреЛ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЦреБрдж рдкрд░ рдкрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛, рдПрдХ рднрдпрд╛рдирдХ рдмрд╛рдд рд╣реЛрдЧреАред рд╕рд┐рд╕реНрдЯрдо рдЖрдирдВрджрдордп "1" (рд╕рдм рдХреБрдЫ рдХреНрд░рдо рдореЗрдВ рд╣реИ) рдХреЗ рдмрдЬрд╛рдп рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛, рдХреБрдЫ "0тАЭ рд╕реНрдЯреЛрд░ ... "рд╕реЗ рд╢реБрд░реВ рд╣реЛрдЧрд╛ред рдФрд░ рдпрд╣ рдХреГрдкрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣реА рд╣реИ, рдПрдХ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдорд╛рдЗрдХреНрд░реЛрдмреЗрд╕ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХрд╛рдлреА рд╕реВрдХреНрд╖реНрдо рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдорд╛рд░реА рд╡рд╕реНрддреБ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рд╕реНрдореГрддрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдереАред рд╣рд▓? рдмреЗрд╢рдХред рдЖрдИрдЖрд░рдЖрдИрдПрд╕ рдбреЗрдЯрд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЖрдкрдХреЛ рд░реИрдо рдореЗрдВ 4 рдЯреАрдмреА рддрдХ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛? рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдкреНрд░рддрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ 256 рдПрдордмреА рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рд╣рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдФрд░ рдпрд╛рдж рд░рдЦреЗрдВ, рдпреЗ рд░реИрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ / рд╕рд░реНрд╡рд░ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдЯреЙрдХ рд╣реИ?
рдЗрд╕ рд╡рд┐рд╢рд╛рд▓рдХрд╛рдп рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХрд┐рд╕ рдЖрдХрд╛рд░ рдХреА рдореЗрдореЛрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЖрдиреБрднрд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ - рд▓рдЧрднрдЧ 10 рдЬреАрдмреАред рдЖрдкрдХреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдореЗрдиреВ> рдореЗрдореЛрд░реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ> рдЕрдзрд┐рдХрддрдо рдореЗрдореЛрд░реА рдкреНрд░рддрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ (KB)) рдпрд╛ $ ZSTORAGE рд╕рд┐рд╕реНрдЯрдо рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдореЗрдВ):

 set $ZSTORAGE=10000000 

рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХреА? рдлрд┐рд░ рдЖрдЧреЗ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ - рд╣рдо рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдмрдЪрд╛рддреЗ рд╣реИрдВред

рдПрдХ рд╡рд┐рдХрд▓реНрдк (рдФрд░ рд╢рд╛рдпрдж рдкрд╕рдВрджреАрджрд╛) рд╡рд┐рдХрд▓реНрдк рд╣реИ -% XML.Reader рд╡рд░реНрдЧ рдХреЗ UsePPGHandler рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдЖрдкрдХреЛ XML рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдЯреЛрд░ рдирд╣реАрдВ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ рдФрд░ рдорд╛рдирдХ рдореЗрдореЛрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

 set reader = ##class(%XML.Reader).%New() set reader.UsePPGHandler = 1 

рдЕрдзрд┐рдХ ... рд╕рд╣рд╕рдВрдмрдВрдзреА / рдкрдврд╝реЗрдВ, рдЖрджрд┐ред ...

 do reader.Next(.object) do object.%Save() 

рдФрд░ рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП 3,722,548 рдмрд╛рд░ :-)

рдпрд╣ рдердХрд╛ рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ FIAS.AddressObject рд╡рд░реНрдЧ рдХреЛ рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдХрд░рддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рджрд┐рдЦрд╛рдП рдЧрдП рдЖрджреЗрд╢реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░:

 ClassMethod Import() { //     XML Set reader = ##class(%XML.Reader).%New() //   XML   Set status = reader.OpenURL("http://localhost/AS_ADDROBJ_20190106_90809714-fe22-45b2-929c-52bd950963e0.XML") If $$$ISERR(status) {Do $System.Status.DisplayError(status)} //       Do reader.Correlate("Object","FIAS.AddressObject") //       While (reader.Next(.object,.status)) { Set status = object.%Save() If $$$ISERR(status) {do $System.Status.DisplayError(status)} } //      ,   If $$$ISERR(status) {Do $System.Status.DisplayError(status)} } 

рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдПрдХреНрд╕реЛрд╕реЛрд░реНрдЯреЗрдХреНрд╕ рдХреА рд╢рдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рдХрдорд╛рдВрдб:

 do ##class(FIAS.AddressObject).Import() 



рдореИрдВ рд╕рднреА рд╕реЗ рдЯреЗрдмрд▓ рдкрд░ рдкреВрдЫрддрд╛ рд╣реВрдВред рдПрдорд╕реАрдбреА рдереЗ, рдФрд░ рдЕрдм рд░реВрд╕реА рд╢рд╣рд░реЛрдВ рдХреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдпрд╛рд░ рдкрдХрд╡рд╛рди рдФрд░ рд╡рдЬрд╝рди рддреИрдпрд╛рд░ рд╣реИред



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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рдпрдерди рдореЗрдВ рд╕реБрдВрджрд░ рдкрддрд╛ рдпреЛрдЧреНрдп рдСрдмреНрдЬреЗрдХреНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдПрдкреАрдЖрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реБрдЖред рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реЛрдЧреАред
рд╕реБрдЦрдж: рдЧрд╛рд░реНрдЯрдирд░ рдиреЗ рдбреАрдмреАрдПрдордПрд╕ рд╢реНрд░реЗрдгреА рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд░реЗрдЯрд┐рдВрдЧ рдФрд░ рд╕рдореАрдХреНрд╖рд╛рдУрдВ рдХрд╛ рд╡рд╛рд░реНрд╖рд┐рдХ рд╕рдВрдЧреНрд░рд╣ рдЕрднреА рдкреВрд░рд╛ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдЖрдзрд╛рд░ рдкрд░ 2019 рдХреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдбреАрдмреАрдПрдордПрд╕ рдХреА рдЕрдкрдиреА рд░реЗрдЯрд┐рдВрдЧ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреА рд╣реИред InterSystems Cach├й рдФрд░ InterSystems IRIS рдбреЗрдЯрд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдЙрдЪреНрдЪрддрдо рдЙрдкрднреЛрдХреНрддрд╛ рдкрд╕рдВрдж рд░реЗрдЯрд┐рдВрдЧ рдорд┐рд▓реА рд╣реИред рдЖрдкрдиреЗ рдХрд┐рд╕реЗ рдЪреБрдирд╛ рдФрд░ рдХреИрд╕реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛, рдЖрдк рд╕реНрд╡рдпрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ред
рдЧреНрд░рд╛рд╣рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдореАрдХреНрд╖рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ 2019 рдХрд╛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдСрдкрд░реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░

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


All Articles