| 建立有效的XML文件 |
|
| 来源:网络收集 作者: 加入时间:2006-10-27 访问次数:6 [大 中 小] |
|
外部DTD 子集中的条件式忽略区段
你可以借着使用IGNORE 区段来让XML 处理器忽略外部DTD 子集的部分。例如,当设计文件时你可能会使用IGNORE 区段,来暂时撤销一个选择性的标签宣告区块,如此你就不必删除该行而又在稍后需要重新输入该行。(如果你刚好是个程序设计人员,你将会发现这个技术很像「批注化」你想暂时忽略的程序区块。)IGNORE 区段以字符作为结束。 下面是一个包含IGNORE 区段的完整外部DTD 子集的范例:

如果你想暂时使IGNORE 区段中的标签宣告的区块再度启动,你可以简单地将关键词IGNORE换成INCLUDE,而不必把限定字符()删除,如下面范例所示:
]]> 接着你可以借着将IGNORE 关键词放回来迅速地再度撤销该区段。一个套迭于IGNORE 区段中的IGNORE 区段将会被忽略。 注意 你只能在外部DTD 子集或外部的参数实体中使用IGNORE 与INCLUDE 区段。(如同你将在第六章学到的,外部的参数实体会参照个别档案-就像外部DTD 子集-包含了标签宣告。)
将格式正确的文件转换成有效的文件
在本章中,你将借着将格式正确的文件转换成有效的文件,获得某些实际动手操作的经验,以及本章所要呈现的观念。你将修改你在第二章中所建立 Inventory.xml 文件来让文件变得完整。你也将加入一个新元素与两个属性来获得你在本章中学到的额外技术的体验。
制作有效的文件
1. 在文字编辑器中, 开启 你将在第二章中建立的 Inventory.xml 文件。(于列表2-1 中) 2. 于名为INVENTORY 的文件元素之上-输入下面的文件型态宣告: 3. 4. [ 5. 6. 7. (TITLE,AUTHOR,BINDING,PAGES,PRICE)> 8. (yes|no)#REQUIRED> 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ] > 提示 在执行这些练习中指定的修改,你可以参考位于本章结尾 列表5-1 中所包含修改过的完整文件。 请注意,紧接在DOCTYPE 关键词后面的名称必须符合文件元素的名称-INVENTORY。该DTD 仅由内部子集组成,定义了文件的元素与属性如下: 文件元素INVENTORY,拥有元素的内容。它可以包含零或多个BOOK子元素。 BOOK 元素也可以拥有元素内容。它必须恰好只包含一个下列的元素,依照列于元素宣告的顺序:TITLE、 AUTHOR、BINDING、PAGES 与PRICE。 TITLE 元素拥有混合的内容。它可以包含字符数据,其间散置零或多个SUBTITLE 元素。 每一个AUTHOR、BINDING、PAGES,与PRICE 元素也拥有混合的内容。然而,这些元素可以只包含字符数据且不含子元素。 BOOK 元素拥有一个列举型态的属性,名为InStock,它是一个必要的属性,可以指定值为「yes」或「no」。 AUTHOR 元素拥有一个名为Born 的字符串型态属性,它是一个选择性的属性且没有默认值。 23. 为Moby-Dick 书籍加入下列的SUBTITLE 子元素到TITLE 元素中: 24. 25. 27. 加入必要的InStock 属性到每一个BOOK 元素中,将其值指定成「yes」或「no」,如下面范例所示; 28. 29. 30. Mark Twain 31. mass market paperback 32. 298 33. $5.49
34. 将选择性的Born 元素加到一个或多个元素中。虽然你可以为该属性指定任何的引号包围字符串,但是属性的目的是储存作家(AUTHOR)的生日。如下所示: Mark Twain 35. 要表现出你指定的新档名,将位于文件起始部分的批注,从:
|
|
|
|
|
|