Guest User

Untitled

a guest
Jul 20th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.13 KB | None | 0 0
  1. declare function conv:stdSplit($uri as xs:string, $x as node()) {
  2. let $olduri := fn:concat($uri, "/", $x/dc:identifier[1], ".xml")
  3. let $newuri := fn:replace($olduri, "\.", "_")
  4. return
  5. <xinclude href="{$newuri}"/>
  6. };
  7.  
  8. declare function conv:pstdSplit($uri as xs:string, $x as node()) {
  9. let $olduri := fn:concat($uri, "/", $x/dc:identifier[1], ".xml")
  10. let $newuri := fn:replace($olduri, "\.", "_")
  11. return
  12. <xinclude href="{$newuri}"/>
  13. };
  14.  
  15. declare function conv:objSplit($uri as xs:string, $x as node()) {
  16. let $olduri := fn:concat($uri, "/", $x/dcterms:hasPart[1], "x.xml")
  17. let $newuri := fn:replace($olduri, "\.", "_")
  18. return
  19. <xinclude href="{$newuri}"/>
  20. };
  21.  
  22. declare function conv:doctypeSplit($x as node()) {
  23. typeswitch ($x)
  24. (: put $x in /content/doctype/*.xml :)
  25. (: build an xinclude for this doc :)
  26. case element(pce:standards) return
  27. let $newuri := fn:concat("/content/",fn:local-name($x))
  28. return
  29. element {fn:name($x)}
  30. {
  31. $x/@*,
  32. for $z in $x/node() return
  33. conv:stdSplit($newuri, $z)
  34. }
  35. case element(pce:partialStandards) return
  36. let $newuri := fn:concat("/content/",fn:local-name($x))
  37. return
  38. element {fn:name($x)}
  39. {
  40. $x/@*,
  41. for $z in $x/node() return
  42. conv:pstdSplit($newuri, $z)
  43. }
  44. case element(pce:objectives) return
  45. let $newuri := fn:concat("/content/",fn:local-name($x))
  46. return
  47. element {fn:name($x)}
  48. {
  49. $x/@*,
  50. for $z in $x/node() return
  51. conv:objSplit($newuri, $z)
  52. }
  53. default return ($x)
  54. };
  55.  
  56. declare function conv:lessonFrameSplit($x as node()) {
  57. typeswitch ($x)
  58. (: put $x in /content/doctype/*.xml :)
  59. (: build an xinclude for this doc :)
  60. case element(pce:LessonFrame) return
  61. element {fn:name($x)}
  62. {
  63. $x/@*,
  64. for $z in $x/node() return
  65. conv:doctypeSplit($z)
  66. }
  67. default return ($x)
  68. };
Add Comment
Please, Sign In to add comment