当前位置:编程学习 > C#/ASP.NET >>

XML --参数实体,为什么报错

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 产品 [
<!ENTITY % 介绍 "(生产日期,库存量)">
<!ELEMENT 产品 (PC机,手机)>
<!ELEMENT PC机 %介绍;>
<!ELEMENT 手机 %介绍;>
<!ELEMENT 生产日期 (#PCDATA)>
<!ELEMENT 库存量 (#PCDATA)>
]>
<产品>
  <PC机>
    <生产日期></生产日期>
    <库存量></库存量>
  </PC机>
  <手机>
    <生产日期></生产日期>
    <库存量></库存量>
  </手机>
</产品>


上面代码,红色字体报错:参数实体不能在内部子集中的标记声明内使用。

这是什么意思啊? --------------------编程问答-------------------- 高人呢?.......... --------------------编程问答-------------------- 所谓参数实体的概念就是说该实体实际上不是在具体实例化文档中使用,而是在DTD文档内部被使用,比如我们可以定义一个如下的实体:   <!ENTITY %地址 "街道,城市,邮编,国家">   然后可以在DTD内部通过%地址;来引用它,具体例子如下:   <!ELEMENT 联系(人名,电话,%地址;)>   上面就是参数实体的概念。


外部参数实体和参数实体的关系和外部实体与普通实体的关系一样,也就是说,实体的内容不是在两个引号之间表示,而是用一个外部的XML文档来表示,比如:
    <!ENTITY %地址 system "http://somewebsite/somecategory/something.xml">
然后可以在DTD内部通过%地址;来引用它。这里%地址;相当于一个普通的元素(ELEMENT),这就是外部参数实体的概念。

下载一个xml schema看看吧

http://www.jb51.net/books/11609.html --------------------编程问答--------------------
引用 2 楼  的回复:
所谓参数实体的概念就是说该实体实际上不是在具体实例化文档中使用,而是在DTD文档内部被使用,比如我们可以定义一个如下的实体:   <!ENTITY %地址 "街道,城市,邮编,国家">   然后可以在DTD内部通过%地址;来引用它,具体例子如下:   <!ELEMENT 联系(人名,电话,%地址;)>   上面就是参数实体的概念。


外部参数实体和参数实体的关系和外部实体与普通实……

我上面那个文档,也是这样写的啊,为什么会错呢?
我以为是“%”和“介绍”之间没空格,去掉空格,还是没对呢? --------------------编程问答-------------------- 恭请易做图 --------------------编程问答-------------------- 这个问题,真的没人知道吗?............. --------------------编程问答-------------------- 真的没人知道?............ --------------------编程问答-------------------- 高人啊,你在哪里,没人知道么
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,