MarkLogic Server рдореЗрдВ рдбреЗрдЯрд╛ [Part1]

MarkLogic Server рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рдЖрдзрд╛рд░рд┐рдд рдореВрд▓ XML рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИред MarkLogic Server рдореЗрдВ рдХрд┐рд╕реА рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рдЙрдиреНрдореБрдЦ DB рдХреЗ рд╕рд╛рде, рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд╛рдЗрд▓-рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдЬрдм WebDAV рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рддреЛ рдбреЗрдЯрд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред XML рдХреЗ рдЕрд▓рд╛рд╡рд╛, MarkLogic рд╕рд░реНрд╡рд░ рдХрд┐рд╕реА рднреА рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

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


рджреЛ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╡рд╛рд▓реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ - MarkLogic Server рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдФрд░ рдЗрди рдмрд╣реБрдд рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рднрд░рдирд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдо рдЗрд╕ рддрдереНрдп рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ рдХрд┐ рдкреНрд░рдкрддреНрд░ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ
<horse xmlns=тАЭns1тАЭ> <location>vacuum</location> <geometry>spherical</geometry> </horse> 

рдФрд░ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
 /horses/ horse1.xml horse2.xml тАж 

XPath рдХреЗ рд▓рд┐рдП рд╣рдо рдЙрдкрд╕рд░реНрдЧ ns1 = "ns1" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо XQuery рдХреЛрдб рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ XML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ (рдкрдврд╝рдиреЗ) рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗред

рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ fn: doc рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рддрд░рд╣ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
 let $id := "horse1" let $uri := fn:concat("/horses/", $id, ".xml") return fn:doc( $uri ) 

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
 fn:doc( [$uri as xs:string*] ) as document-node()* 

рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо XML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ () , рдкрд╛рда рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рдореВрд▓ рддрддреНрд╡ (рдЯреИрдЧ) рдФрд░ рдмрд╛рдЗрдирд░реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдирд░реА () рддрддреНрд╡ рд╣реИред

рдХрд┐рд╕реА рднреА XPath рдХреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ XML рдкрд░рд┐рдгрд╛рдо рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕реЗ рд╣реА
 fn:doc( $uri )/ns1:horse 

рдпрд╛ рдЯреИрдЧреНрд╕ ns1 рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ: рд╕реНрдерд╛рди
 fn:doc( $uri )/ns1:horse/ns1:location 

рдпрд╛ рдРрд╕рд╛ рд╣реА рдХрд░рддреЗ рд╣реИрдВ
 fn:doc( $uri )//ns1:location 


MarkLogic Server рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдХреЗ рддрд╛рд░реНрдХрд┐рдХ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдмрд╛рдВрдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ (рдСрдмреНрдЬреЗрдХреНрдЯ) "рдШреЛрдбреЗ.рдПрдирдПрдХреНрд╕рдПрд▓" рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "/ рдШреЛрдбрд╝реЛрдВ /" рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди! рдЕрдХреНрд╕рд░, рдЖрдкрдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рдЕрддрд┐рд╡реНрдпрд╛рдкреА рд╕рдореВрд╣ (рд╕рдВрдШ) рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде MarkLogic Server рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдЧреНрд░рд╣ рддрдВрддреНрд░ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рд╕рдВрдЧреНрд░рд╣ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ; рдЗрд╕ рдкрд░ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИрдВред

рдЕрдЧрд▓рд╛, рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдШреЛрдбрд╝реЛрдВ-рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рддреЛ рд╕рдВрдЧреНрд░рд╣ рддрдХ рдкрд╣реБрдВрдЪ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ
 let $collections := ("horses-collection") return fn:collection($collections) 

рдЬрд╣рд╛рдБ $ рд╕рдВрдЧреНрд░рд╣ рдЙрди рд╕рдВрдЧреНрд░рд╣ рдХреА рд╕реВрдЪреА рд╣реИ рдЬрд┐рдирдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЖрдк рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
 fn:collection( [$uri as xs:string*] ) as document-node()* 

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрддрд╛ рд╣реИред Fn рдХрд╛ рдкрд░рд┐рдгрд╛рдо : рд╕рдВрдЧреНрд░рд╣ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред

Fn рдореЗрдВ $ uri рдкреИрд░рд╛рдореАрдЯрд░ : рд╕рдВрдЧреНрд░рд╣ рдлрд╝рдВрдХреНрд╢рди рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдЗрд╕рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, fn: рд╕рдВрдЧреНрд░рд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ
 fn:collection() 

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

XQuery рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝реЗ рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИред
 /ns1:horse 

рдпрд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ
 fn:collection()/ns1:horse 

рдпрд╣реА рд╣реИ, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░реЗрдВ рдФрд░ рдЙрди рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рд▓реМрдЯрд╛рдПрдВ рдЬрд┐рдирдореЗрдВ рд░реВрдЯ рдЯреИрдЧ ns1: рдШреЛрдбрд╝рд╛ рд╣реИ ред

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ XQuery рдХреЛрдб рдореЗрдВ рдЖрдк XPath рдХреЛ рдПрдХ рдкреНрд░рдХреНрд╖рд╛рд▓рд┐рдд рддрддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо ns1: рдШреЛрдбрд╝реЗ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдПрдХ рд╣реА рд╕реВрдЪреА рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЬрдм рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЯреИрдЧ рдХреЛ рд╕реНрдХреИрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдХрд┐ рдмрд╣реБрдд рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдп рд╣реИ
 //ns1:horse 

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

рдХрднреА-рдХрднреА рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдПрдХ рд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рднреАрддрд░ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХрд╛ рд╕реНрдерд╛рди рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рддрд░реНрдХ рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдПрдХрд▓ рдЗрдХрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрди рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
 xdmp:directory("/horses /", "1")/ns1:horse 

Xdmp: рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓реМрдЯрд╛рддрд╛ рд╣реИ
 xdmp:directory( $uri as xs:string*, [$depth as xs:string?] ) as document-node()* 

рдпрд╣рд╛рдВ, рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЪрд░ рджреЛ рдорд╛рди "1" рдФрд░ "рдЕрдирдиреНрддрддрд╛" рд▓реЗ рд╕рдХрддрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред $ рдЧрд╣рд░рд╛рдИ = "1" рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ , MarkLogic Server рдЦреБрдж рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рддрдХ рд╕реАрдорд┐рдд рд░рдЦреЗрдЧрд╛, рдЬрдмрдХрд┐ "рдЕрдирдВрдд" рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╕рднреА рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛ред

рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рднреА рдПрдХреНрд╕рдкреАрде рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╕рд░рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреА рдЬрдЧрд╣ рдХреБрдЫ рд╕рдорд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
 //ns1:location[ (fn:starts-with(., тАЬvaтАЭ) and fn:starts-with(., тАЬmтАЭ)) or (. eq тАЬlocation1тАЭ) ] 

рдкрд░рд┐рд╖реНрдХреГрдд XPath рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдмрд╣реБрдд рдмрдврд╝рд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рд╕рд╛рдзрд╛рд░рдг XPath рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬреИрд╕реЗ DB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рджреВрд╕рд░рд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛ рдЖрдзрд╛рд░ рдХрд╛ рднрд░рдирд╛ рд╣реИред рдореБрдЭреЗ рддреБрд░рдВрдд рдпрд╣ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ MarkLogic рд╕рд░реНрд╡рд░ XQuery рдХреЗ рд▓рд┐рдП XQuery рдЕрдкрдбреЗрдЯ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ API рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реЗрд░рдлреЗрд░ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рднрд░рдирд╛ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

1. XQuery рдХреЛрдб рд╕реЗ рд╕реАрдзреЗ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдПрдВред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
 declare variable $collections := ("horses"); let $uri := тАЬ/horses/horse1.xmlтАЭ let $horse := <horse xmlns=тАЭns1тАЭ> <location>vacuum</location> <geometry>spherical</geometry> </horse> return xdmp:document-insert( $uri, $horse, xdmp:default-permissions(), $collections ) 

Xdmp: рдбреЙрдХреНрдпреВрдореЗрдВрдЯ-рдЗрдВрд╕рд░реНрдЯ рдлрдВрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ
 xdmp:document-insert( $uri as xs:string, $root as node(), [$permissions as element(sec:permission)*], [$collections as xs:string*], [$quality as xs:int?], [$forest-ids as xs:unsignedLong*] ) as empty-sequence() 

рдЬрд╣рд╛рдБ $ uri рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдкрддрд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд░реВрдЯ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╣реИред MarkLogic Server рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдлрд┐рд░ $ uri рдПрдХ рдЧреИрд░-рдореМрдЬреВрдж рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рддрдм рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
$ рдЬрдбрд╝ - рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд┐рдХрд╛рдп
$ рдЕрдиреБрдорддрд┐рдпрд╛рдБ - рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдПрдХреНрд╕реЗрд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕
$ рд╕рдВрдЧреНрд░рд╣ - рд╕рдВрдЧреНрд░рд╣ рдХреА рдПрдХ рд╕реВрдЪреА рдЬрд┐рд╕рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

2. WebDAV рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рдпрд╣ рд╡рд┐рдзрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдХрд╛рдлреА рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред WebDAV рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд (WebDAV) рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрд▓реЛрдЧрд┐рдХ рд╕рд░реНрд╡рд░ рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

3. рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдпрд╛ рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк MarkLogic рд╕рд░реНрд╡рд░ рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рдЬрд╛рд╡рд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ RecordLoader рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

4. рдСрдЯреЛрд▓реИрдбрд░ рдПрдХ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдорд╛рд░реНрдХрд▓реЛрдЧрд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд░рд┐рдХреЙрд░реНрдбрд▓реЙрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред

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


All Articles