|
11 | 11 | [mdr2.production.path :as path] |
12 | 12 | [babashka.fs :as fs])) |
13 | 13 |
|
| 14 | +(def xhtml-uri "http://www.w3.org/1999/xhtml") |
| 15 | +(xml/alias-uri 'xhtml xhtml-uri) |
| 16 | + |
14 | 17 | (def ^:private manifest-doctype |
15 | 18 | (str |
16 | 19 | "<!DOCTYPE html PUBLIC " |
|
24 | 27 | "\"http://www.w3.org/TR/REC-smil/SMIL10.dtd\">")) |
25 | 28 |
|
26 | 29 | (defn meta-node? [node name] |
27 | | - (and (= (:tag node) :meta) |
| 30 | + (and (= (:tag node) ::xhtml/meta) |
28 | 31 | (= (:name (:attrs node)) name))) |
29 | 32 |
|
30 | 33 | (defn update-meta-node [node v] |
31 | 34 | (assoc-in node [:attrs :content] v)) |
32 | 35 |
|
33 | | -(defn title-node? [node] (= (:tag node) :title)) |
| 36 | +(defn title-node? [node] (= (:tag node) ::xhtml/title)) |
34 | 37 |
|
35 | 38 | (defn update-title-node [node v] (assoc-in node [:content] (list v))) |
36 | 39 |
|
|
39 | 42 | is not nil" |
40 | 43 | (if value |
41 | 44 | (update-in node [:content] concat ; append |
42 | | - (list (xml/element :meta {:name "ncc:kByteSize" :content value}))) |
| 45 | + (list (xml/element ::xhtml/meta {:name "ncc:kByteSize" :content value}))) |
43 | 46 | node)) |
44 | 47 |
|
45 | 48 | (defn insert-xmlns [node] |
46 | | - (assoc-in node [:attrs :xmlns] "http://www.w3.org/1999/xhtml")) |
| 49 | + (assoc-in node [:attrs :xmlns] xhtml-uri)) |
47 | 50 |
|
48 | 51 | (defn handle-manifest-node |
49 | 52 | "Handle one node in the xml tree. Replace all content in the meta |
|
57 | 60 | (title-node? node) (update-title-node node title) |
58 | 61 | (meta-node? node "dc:creator") (update-meta-node node creator) |
59 | 62 | (meta-node? node "dc:title") (update-meta-node node title) |
60 | | - (meta-node? node "dc:date") (update-meta-node node date) |
| 63 | + (meta-node? node "dc:date") (update-meta-node node (str date)) |
61 | 64 | (meta-node? node "dc:identifier") (update-meta-node node identifier) |
62 | 65 | (meta-node? node "dc:language") (update-meta-node node language) |
63 | 66 | (meta-node? node "dc:publisher") (update-meta-node node publisher) |
64 | 67 | (meta-node? node "dc:source") (update-meta-node node source) |
65 | 68 | (meta-node? node "dc:type") (update-meta-node node type) |
66 | 69 | (meta-node? node "ncc:narrator") (update-meta-node node narrator) |
67 | | - (meta-node? node "ncc:producedDate") (update-meta-node node produced_date) |
68 | | - (meta-node? node "ncc:sourceDate") (update-meta-node node source_date) |
| 70 | + (meta-node? node "ncc:producedDate") (update-meta-node node (str produced_date)) |
| 71 | + (meta-node? node "ncc:sourceDate") (update-meta-node node (str source_date)) |
69 | 72 | (meta-node? node "ncc:producer") (update-meta-node node producer) |
70 | | - (meta-node? node "ncc:revisionDate") (update-meta-node node revision_date) |
| 73 | + (meta-node? node "ncc:revisionDate") (update-meta-node node (str revision_date)) |
71 | 74 | (meta-node? node "ncc:sourceEdition") (update-meta-node node source_edition) |
72 | 75 | (meta-node? node "ncc:sourcePublisher") (update-meta-node node source_publisher) |
73 | 76 | (meta-node? node "ncc:multimediaType") (update-meta-node node multimedia_type) |
74 | | - (= (:tag node) :head) (insert-kbytesize-node node encoded_size) |
| 77 | + (= (:tag node) ::xhtml/head) (insert-kbytesize-node node encoded_size) |
75 | 78 | :else node)) |
76 | 79 |
|
77 | 80 | (defn handle-smil-node |
|
0 commit comments