请问这样的XML对应的DTD文件应该怎样写呀?

烂笔头Danky 2004-12-09 07:20:08
XML文件如下:

<?xml version="1.0"?>

<songBook>

<song1>
<id>1</id>
<name>A Whole New World</name>
<lyric>.....</lyric>
</song1>
<song2>
<id>2</id>
<name>Because You Loved Me</name>
<lyric>......</lyric>
</song2>
<song3>
<id>3</id>
<name>Candle in the Wind</name>
<lyric>......</lyric>
</song3>
.
.
.
<songn>
<id>n</id>
<name>Eeys on me</name>
<lyric>......</lyric>
</songn>

</songBook>

主要是<songn></songn>这些元素,难道要从1到n这样:<!ELEMENT songBook (song1, song2, song3, ..., songn)>一直写到n个吗?有没有更方便的方法呀?
...全文
158 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
烂笔头Danky 2004-12-11
  • 打赏
  • 举报
回复
我现在在<song id="1"></song>设置了一个id属性,但我不知道这个id属性在DTD中应该怎样写才正确,我写成<!ATTLIST song id ID #REQUIRED>或者<!ATTLIST song id ID #IMPLIED>这样,在验证时总是说我<song id="1">这句有错误,但XML元素可以正常用浏览器显示(预览)!请问这个id属性应该怎样写呢?
烂笔头Danky 2004-12-10
  • 打赏
  • 举报
回复
我也知道的,我本来也是用你说的这种格式的,但先前是为了想可以用一个id号更快地定位到指定的元素(而不用从根元素开始遍历),所以用我上面的方法,但后来想到后面的内容扩充就想到我的那个格式不好!

如果我把那个<id>1</id>元素放到song中作为属性的话(这样我可以利用这个id属性来更容易地定位):<song id="1"></song>,这个id属性的值怎样可以取得呢?
patchclass 2004-12-09
  • 打赏
  • 举报
回复
是的,你这么个xml格式就不好
<song>
<id>1</id>
<name>A Whole New World</name>
<lyric>.....</lyric>
</song>
不就可以了?

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧