我想将xmlns声明分成多行。我在教科书中看过它,但是当我尝试复制它时,[shell-tools] [1]给出了下面第二个例子的错误:
/ var / tmp / FOO758cqr:11:解析器错误:标记簿行2中的数据过早结束
如何更改此内容:
<?xml version="1.0"?>
<!-- initially, the default namespace is "books" -->
<book xmlns="urn:loc.gov:books" xmlns:isbn="urn:ISBN:0-395-36341-6">
<title>Cheaper by the Dozen</title>
<isbn:number>1568491379</isbn:number>
<notes>
<!-- make HTML the default namespace for some commentary -->
<p xmlns="http://www.w3.org/1999/xhtml">
This is a <i>funny</i> book!
</p>
</notes>
</book>
到此:
<?xml version="1.0"?>
<book xmlns="urn:loc.gov:books">
<book xmlns:isbn="urn:ISBN:0-395-36341-6">
<title>Cheaper by the Dozen</title>
<isbn:number>1568491379</isbn:number>
<notes>
<p>
This is a <i>funny</i> book!
</p>
</notes>
</book>
(以上来自scoping@w3)
如果有意义的话,我想让两个命名空间的范围成为所有书籍。
感谢,
Thufir
(阅读[codenotes] [3] pg 35)
答案 0 :(得分:2)
你想:
<book
xmlns="urn:loc.gov:books"
xmlns:isbn="urn:ISBN:0-395-36341-6">
将属性保留在单个<book>
节点中。请注意,您不能有两个根节点,因此在上面的示例中,两个<book>
节点不可接受。
答案 1 :(得分:2)
第二个例子不是格式良好的XML(其中一个<book>
标签未关闭),这就是错误发生的原因。
您可能想要的是:
<?xml version="1.0"?>
<!-- initially, the default namespace is "books" -->
<book xmlns="urn:loc.gov:books"
xmlns:isbn="urn:ISBN:0-395-36341-6">
<title>Cheaper by the Dozen</title>
<isbn:number>1568491379</isbn:number>
<notes>
<!-- make HTML the default namespace for some commentary -->
<p xmlns="http://www.w3.org/1999/xhtml">
This is a <i>funny</i> book!
</p>
</notes>
</book>