Skip to content

Commit 35b6f68

Browse files
committed
Make the update of the ncc file namespace aware
1 parent 646c1b5 commit 35b6f68

1 file changed

Lines changed: 12 additions & 9 deletions

File tree

src/clj/mdr2/dtb/xml.clj

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
[mdr2.production.path :as path]
1212
[babashka.fs :as fs]))
1313

14+
(def xhtml-uri "http://www.w3.org/1999/xhtml")
15+
(xml/alias-uri 'xhtml xhtml-uri)
16+
1417
(def ^:private manifest-doctype
1518
(str
1619
"<!DOCTYPE html PUBLIC "
@@ -24,13 +27,13 @@
2427
"\"http://www.w3.org/TR/REC-smil/SMIL10.dtd\">"))
2528

2629
(defn meta-node? [node name]
27-
(and (= (:tag node) :meta)
30+
(and (= (:tag node) ::xhtml/meta)
2831
(= (:name (:attrs node)) name)))
2932

3033
(defn update-meta-node [node v]
3134
(assoc-in node [:attrs :content] v))
3235

33-
(defn title-node? [node] (= (:tag node) :title))
36+
(defn title-node? [node] (= (:tag node) ::xhtml/title))
3437

3538
(defn update-title-node [node v] (assoc-in node [:content] (list v)))
3639

@@ -39,11 +42,11 @@
3942
is not nil"
4043
(if value
4144
(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})))
4346
node))
4447

4548
(defn insert-xmlns [node]
46-
(assoc-in node [:attrs :xmlns] "http://www.w3.org/1999/xhtml"))
49+
(assoc-in node [:attrs :xmlns] xhtml-uri))
4750

4851
(defn handle-manifest-node
4952
"Handle one node in the xml tree. Replace all content in the meta
@@ -57,21 +60,21 @@
5760
(title-node? node) (update-title-node node title)
5861
(meta-node? node "dc:creator") (update-meta-node node creator)
5962
(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))
6164
(meta-node? node "dc:identifier") (update-meta-node node identifier)
6265
(meta-node? node "dc:language") (update-meta-node node language)
6366
(meta-node? node "dc:publisher") (update-meta-node node publisher)
6467
(meta-node? node "dc:source") (update-meta-node node source)
6568
(meta-node? node "dc:type") (update-meta-node node type)
6669
(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))
6972
(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))
7174
(meta-node? node "ncc:sourceEdition") (update-meta-node node source_edition)
7275
(meta-node? node "ncc:sourcePublisher") (update-meta-node node source_publisher)
7376
(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)
7578
:else node))
7679

7780
(defn handle-smil-node

0 commit comments

Comments
 (0)