2010-11-07 71 views
2

我想打破xmlns聲明成多行。我在教科書中看到它,但是當我嘗試複製它時,[shell-tools] [1]給出下面第二個示例的錯誤:xmlns聲明打破了多個元素,「全局」範圍

/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> 

(以上是從[email protected]

我想提出兩個命名空間是所有書籍的範圍,如果是有道理的。

感謝,

Thufir

(讀取[codenotes] [3]第35頁)

+0

犯錯,在閱讀時,我看到第三的xmlns是必要的,對於XHTML。但是,這並沒有實質性地改變這個問題。 – Thufir 2010-11-07 21:27:41

回答

2

你想:

<book 
    xmlns="urn:loc.gov:books" 
    xmlns:isbn="urn:ISBN:0-395-36341-6"> 

保持單個<book>節點內的屬性。請注意,不能有兩個根節點,因此在上例中兩個<book>節點不可接受。

+0

是否有可能將兩個屬性(聲明?)分解爲單獨的節點?我沿着「每個命名空間節點都有一個父節點,但不是該父節點的子節點」的行讀取了一些內容,但是,雖然我沒有這個方便,但代碼註釋的操作如下所示:<書的xmlns:ISBN =」 甕:ISBN:0-395-36341-6" > //格式化掉 – Thufir 2010-11-07 23:03:43

+0

這是不可能分裂這件事。無論如何,你爲什麼要這麼做? – Michael 2010-11-07 23:51:09

+0

我想的 <庫的xmlns = 「金塔:loc.gov:書籍」> <書的xmlns:ISBN = 「甕:ISBN:0-395-36341-6」 !> <---省略 - > 或類似的東西,但我想這只是一個不錯的辦法。範圍廣泛的命名空間放在一個節點(或元素?)中。 – Thufir 2010-11-08 00:31:08

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>