MarkLogic рд╕рд░реНрд╡рд░ рдореЗрдВ XQuery рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ

MarkLogic Server XQuery 1.0-ml рдирд╛рдордХ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА XQuery рдмреЛрд▓реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣реА XQuery 1.0 рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдЬреАрд╡рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП MarkLogic рдХреЗ рдХреБрдЫ рдРрдб-рдСрди рдХреЗ рд╕рд╛рде рд╣реИред рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди XQuery рдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рдмрдирд╛рддреЗ рд╣реИрдВред рдЖрдЗрдП MarkLogic Server 6.0 рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди (http://docs.marklogic.com/6.0/guide/xquery.pdf) рдореЗрдВ рд╡рд░реНрдгрд┐рдд XQuery рдХреЗ рдРрдб-рдСрди рджреЗрдЦреЗрдВред
рдкреНрд░рдпреБрдХреНрдд рдмреЛрд▓реА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдШреЛрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред

xquery version "1.0-ml"; 


рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЙрдбреНрдпреВрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢ рд░рдЦрдХрд░ XQuery 1.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ

 xquery version "1.0"; 


MarkLogic рджреНрд╡рд╛рд░рд╛ XQuery 1.0-рдорд┐рд▓реАрд▓реАрдЯрд░ рд╕реБрдзрд╛рд░ рдХреА рд╕реВрдЪреА
1. рдХреЛрд╢рд┐рд╢ / рдкрдХрдбрд╝ рднрд╛рд╡
2. рдлрдВрдХреНрд╢рди рдореИрдкрд┐рдВрдЧ
3. рд▓реЗрди-рджреЗрди рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо
4. рдирд┐рдЬреА рдХрд╛рд░реНрдп рдФрд░ рдЪрд░
5. рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп "рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ"
6. рд╕рдВрдХреНрд╖рд┐рдкреНрдд рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рд╕реНрдерд┐рддрд┐
7. рдмрд╛рдЗрдирд░реА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░
8. рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреНрдп рд╣реИ
9. рд╕рд░рд▓реАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк
10. рдПрдХ XQuery рдореЙрдбрд▓ рдореЗрдВ XSLT рд╕реНрдЯрд╛рдЗрд▓ рдЖрдпрд╛рдд рдХрд░реЗрдВ
11. рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди-рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╢рдмреНрджрд╛рд░реНрде

рдЖрдЗрдП рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо рдкрд░ рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ

1. рдХреЛрд╢рд┐рд╢ / рдкрдХрдбрд╝ рднрд╛рд╡
рдпрд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд░рдирдЯрд╛рдЗрдо XQuery рдХреЗ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдкрдХрдбрд╝рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреА рд╣реИ

 try {    } catch ($exception) {    } 


MarkLogic Server рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреА рддрд░рд╣ $ рдЕрдкрд╡рд╛рдж рдЪрд░, XML рдПрдХ рдЕрдкрд╡рд╛рдж рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдк рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП XPath, рдФрд░ рдмреНрдпрд╛рдЬ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╡рд╣ рд╕рдм рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ MarkLogic Server рдХреЗ рдЕрдВрджрд░ XML рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдФрд░ рдХреЗрд╡рд▓ рддреАрди "рд╡рд┐рд╢реЗрд╖" рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдкрдХрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - XDMP-CANCELED, SVC-CENCELER XDMP-DISABLED ред

2. рдлрдВрдХреНрд╢рди рдореИрдкрд┐рдВрдЧ
"рдлрдВрдХреНрд╢рди рдореИрдкрд┐рдВрдЧ" рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рддрддреНрд╡реЛрдВ рдХреЗ рдХреНрд░рдорд┐рдХ рд╕реЗрдЯ рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди! рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдиреБрдХреНрд░рдо рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдПрдХ рддрддреНрд╡ рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
"рдлрдВрдХреНрд╢рди рдореИрдкрд┐рдВрдЧ" рдПрдХ рд▓реВрдк рдХреЗ рд▓рд┐рдП рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдХреБрдЫ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде

 xquery version "1.0-ml"; declare function local:print-word ($word as xs:string) { $word }; local:print-word( ("hello", "world") ) 


рдпрд╣ рдХреЛрдб "helloworld" рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИред рд╕реНрдерд╛рдиреАрдп: рдкреНрд░рд┐рдВрдЯ-рд╡рд░реНрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рд╣рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ

 xquery version "1.0-ml"; (1,2) * (3,4) 


рдкрд░рд┐рдгрд╛рдо (3, 4, 6, 8)ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, "рдлрдВрдХреНрд╢рди рдореИрдкрд┐рдВрдЧ" рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдЧреБрдгрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред
рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо рдмрди рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рдЦрд╛рд▓реА рдЕрдиреБрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп

 local:print-word( () ) 


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

 declare namespace xdmp="http://marklogic.com/xdmp"; declare option xdmp:mapping "true"; 


рдмрдВрдж рдХрд░рдиреЗ рд╕реЗ:

 declare namespace xdmp="http://marklogic.com/xdmp"; declare option xdmp:mapping "false"; 


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

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

 declare private function .... declare private variable .... 


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

5. рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп "рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ"
XQuery рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдПрдХ рдорд╛рди рд▓реМрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдбреЗрдЯрд╛ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдмреЙрдбреА рд╕реЗ рдХреЛрдИ рд╕рд╛рдЗрдб рдмрджрд▓рд╛рд╡ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред MarkLogic Server рдореЗрдВ рдХрдИ рд╕рдВрд╡рд░реНрджреНрдзрди рд╣реИрдВ рдЬреЛ XQuery рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдкрд░реЗ рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ, рдЬреЛ рди рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдбреЗрдЯрд╛ рднреА рдмрджрд▓рддрд╛ рд╣реИред
"рд╕рд╛рдЗрдб рдЗрдлрд╝реЗрдХреНрдЯ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╕рдордп рдмрд╣реБрдд рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ MarkLogic Server рдореЗрдВ рдХрдИ рдХрд╛рд░реНрдп рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ "рд╕рд╛рдЗрдб рдЗрдлрд╝реЗрдХреНрдЯ" рдмрдирд╛рддреЗ рд╣реИрдВред
рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
тАв xdmp: рд╕реЗрдЯ
тАв рдЕрджреНрдпрддрди рдХрд╛рд░реНрдп (xdmp: рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рд▓реЛрдб, xdmp: рдиреЛрдб-рдбрд╛рд▓реЗрдВ, рдЖрджрд┐)
тАв рдкреНрд░рдмрдВрдзрди рдХрд╛рд░реНрдп (xdmp: рдорд░реНрдЬ, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, xdmp: рд╢рдЯрдбрд╛рдЙрди, рдЖрджрд┐)

6. рд╕рдВрдХреНрд╖рд┐рдкреНрдд рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рд╕реНрдерд┐рддрд┐
MarkLogic Server рдореЗрдВ рдПрдХ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рд╣реИред рддреЛ, XQuery 1.0-ml рдореЗрдВ рдПрдХ рдЕрдиреБрдХреНрд░рдо рдХреЗ рдкрд╣рд▓реЗ рддреАрди рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

 xquery version "1.0-ml"; (1, 2, 3, 4, 5, 5)[1 to 3] 


рдФрд░ XQuery 1.0 рдореЗрдВ

 xquery version "1.0"; (1, 2, 3, 4, 5, 5)[fn:position() = (1 to 3)] 


7. рдмрд╛рдЗрдирд░реА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░
XQuery 1.0-рдорд┐рд▓реАрд▓реАрдЯрд░ рд╡рд┐рд╕реНрддрд╛рд░ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдкреЗрд╢ рдХрд░рдХреЗ XQuery 1.0 рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдирдП рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ "рдмрд╛рдЗрдирд░реА" рдФрд░ рдЯрд╛рдЗрдк рдмрд╛рдЗрдирд░реА () рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ "рдЯрд╛рдЗрдкрд╕реНрд╡рд┐рдЪ" рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

8. рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреНрдп рд╣реИ
рдПрдХ рдЕрдиреНрдп рдирд╡рд╛рдЪрд╛рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреНрдп" рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "рдорд╛рдиреНрдп" рдореЗрдВ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

 xquery version "1.0-ml"; validate as xs:boolean { <foo>{fn:true()}</foo> } 


рдореВрд▓ рд░реВрдк рд╕реЗ, рдпрд╣ XQuery 1.0-ml рдХрд╛ рдРрд╕рд╛ рдХреЛрдИ рдирд╡рд╛рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред XQuery 1.0 рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХреА рдЬрд╛рдБрдЪ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ

 xquery version "1.0"; declare namespace xdmp="http://marklogic.com/xdmp"; (# xdmp:validate-type xs:boolean #) { <foo>{fn:true()}</foo> } 


9. рд╕рд░рд▓реАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк
рдШреЛрд╖рдгрд╛ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ XQuery рдореЗрдВ рд╕реАрд░рд┐рдпрд▓рд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

10. рдПрдХ XQuery рдореЙрдбрд▓ рдореЗрдВ XSLT рд╕реНрдЯрд╛рдЗрд▓ рдЖрдпрд╛рдд рдХрд░реЗрдВ
XQuery 1.0-рдорд┐рд▓реАрд▓реАрдЯрд░ рдореЗрдВ, рдЖрдк XSLT рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ XQuery рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк XSLT рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдШреЛрд╖рд┐рдд рд╕рднреА рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
XSLT рдЖрдпрд╛рдд рдХрд░реЗрдВ

 xquery version "1.0-ml"; import stylesheet at "/path-to-stylesheet.xsl"; 


11. рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди-рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╢рдмреНрджрд╛рд░реНрде
XQuery рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдЖрдЗрдЯрдо рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ XQuery рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

1. рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╛рдо рд╕реНрдерд╛рдиред
рдкреНрд░рддреНрдпреЗрдХ XQuery рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдЕрдкрдирд╛ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "fn:" рдПрдХ рдРрд╕рд╛ рд╣реА рд╕реНрдерд╛рди рд╣реИред

2. рдмрд╛рд╣рд░реА рдЪрд░
рдмрд╛рд╣рд░реА рдЪрд░ рд╡реЗ рдЪрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЪрд░ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг

 xquery version "1.0-ml"; declare namespace my="myNamespace"; declare variable $my:variable as xs:string* external; fn:concat("The value of $my:variable is: ", $my:variable) 


рдлрд╝рдВрдХреНрд╢рди xdmp: invoke, xdmp: eval, xdmp: spawn рдпрд╛ XCC рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдРрд╕реЗ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдорд╛рди рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 >xquery version "1.0-ml"; declare namespace my="myNamespace"; xdmp:invoke("/extvar.xqy", (xs:QName("my:variable"), "my value")) 


рдРрд╕реЗ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

 The value of $my:variable is: my value 


3. рдХреНрд░рдордмрджреНрдз рд╡рд┐рдХрд▓реНрдк
рдкреНрд░рддреНрдпреЗрдХ XQuery рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдирд╛рдо, рд╕реЙрд░реНрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╣реИрдВред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдЦреЛрдЬ рдбреЗрд╡рд▓рдкрд░ рдХреА рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рджреЗрдЦреЗрдВред

4. XQuery рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рдХрд╛рд░
MarkLogic Server XQuery рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХрд╛рд░ рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред XQuery рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рд╕рд╛рде рдЬреАрд╡рди рдмреЗрд╣рддрд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╡реЗ MarkLogic Server рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред
рдХреБрдЫ рдирдП рдкреНрд░рдХрд╛рд░
тАв cts: рдХреНрд╡реЗрд░реА (рдмрд╣реБрдд рд╕реЗ рдЙрдкрдкреНрд░рдХрд╛рд░реЛрдВ рдЬреИрд╕реЗ cts: рд╢рдмреНрдж-рдХреНрд╡реЗрд░реА, cts: рдПрд▓рд┐рдореЗрдВрдЯ-рдХреНрд╡реЗрд░реА, рдЖрджрд┐)
тАв рдирдХреНрд╢рд╛: рдирдХреНрд╢рд╛
тАв cts: рдХреНрд╖реЗрддреНрд░ (рдЙрдк-рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде cts: рдмреЙрдХреНрд╕, cts: рд╡реГрддреНрдд, cts: рдмрд╣реБрднреБрдЬ, рдФрд░ cts: рдЕрдВрдХ]
тАв рдЬрд╕рди: рд╡рд╕реНрддреБ
тАв json: рд╕рд░рдгреА
тАв json: unquotedString

5. рджрд╢рд╛рдВрд╢ рдХреА рд╢реБрджреНрдзрддрд╛
рдорд╛рд░реНрдХрд▓реЛрдЧрд┐рдХ рд╕рд░реНрд╡рд░ рдореЗрдВ рджрд╢рдорд▓рд╡ рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реЗрдЯрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИред рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ 18 рджрд╢рдорд▓рд╡ рдЕрдВрдХреЛрдВ рдХреА рд╕рдЯреАрдХрддрд╛ рд╣реЛрддреА рд╣реИред

6. рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдирд╛рдо рд╕реНрдерд╛рди рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдерд╛рди рд╣реИред
рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдо рд╕реНрдерд╛рди рднреА рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рдд рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдо рд╕реНрдерд╛рди рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЕрдВрджрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЙрдирдХреЗ рдЙрдкрд╕рд░реНрдЧ (рдирд╛рдо рд╕реНрдерд╛рди) рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдШреЛрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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


All Articles