我的文件夹中有多个 .XHTML 文件。顶部声明部分如下:
<?xml version="1.0" encoding="UTF-8"?>
<html xml:lang="en-us" lang="en-us" xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:ns="http://www.w3.org/2001/10/synthesis">
<head>
首先,我不想改变头顶部分。
我想批量处理文件并修复两件事,
- 正确终止图像结束标签,与和标签
'/>'
相同。<hr/>
<br/>
- 替换所有图像中的路径(保留名称),即来自
<img src="/v2/media/2004/05/draft/305/files/dbc0401.jpg" alt="Images" width="258" height="115">
到
<img src="graphics/dbc0401.jpg" alt="Images" width="258" height="115"/>
尝试过 xmlstarlet (v1.6.1),xmlstarlet fo --recover --html file.xhtml
但它改变了顶部声明部分,在顶部添加了额外的内容:
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<?xml version="1.0" encoding="UTF-8"??>
<html xml:lang="en-us" lang="en-us" xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:ns="http://www.w3.org/2001/10/synthesis">
<head>
还警告无效标签
file.xhtml:8.54: Tag section invalid
<div id="aber-content"><section epub:type="chapter">
^
什么是正确的命令?首先,我需要“试运行”来查看更改,如果可以,则应用到位。