加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml自定义实体

发布时间:2020-12-16 02:00:35 所属栏目:百科 来源:网络整理
导读:自定义实体分为:一般实体和参数实体 1、自定义一般实体 demo8中的代码: ?xml version="1.0" encoding="UTF-8"?!ELEMENT book (detail+)!ELEMENT detail (name,author,publisher,price,url)!ELEMENT name (#PCDATA)!ELEMENT author (#PCDATA)!ELEMENT publi

自定义实体分为:一般实体和参数实体

1、自定义一般实体

demo8中的代码:

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT book (detail+)>
<!ELEMENT detail (name,author,publisher,price,url)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT publisher (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT url (#PCDATA)>

<!ENTITY bj "北京大学出版社">

对应的xml代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book SYSTEM "demo8.dtd">
<book>
	<detail>
		<name>XML</name>
		<author>李白</author>
		<publisher>&bj;</publisher>
		<price>22.5</price>
		<url>
			<![CDATA[
				<a href="#">链接1</a>
			]]>
		</url>
	</detail>
	<detail>
		<name>PHP</name>
		<author>杜甫</author>
		<publisher>&bj;</publisher>
		<price>22.5</price>
		<url>
			<![CDATA[
				<a href="#">链接2</a>
			]]>
		</url>
	</detail>
</book>

xml内部定义一般实体:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book SYSTEM "demo8.dtd"[
	<!ENTITY bj "北京大学出版社">
]>
<book>
	<detail>
		<name>XML</name>
		<author>李白</author>
		<publisher>&bj;</publisher>
		<price>22.5</price>
		<url>
			<![CDATA[
				<a href="#">链接1</a>
			]]>
		</url>
	</detail>
	<detail>
		<name>PHP</name>
		<author>杜甫</author>
		<publisher>&bj;</publisher>
		<price>22.5</price>
		<url>
			<![CDATA[
				<a href="#">链接2</a>
			]]>
		</url>
	</detail>
</book>


2、自定义参数实体

参数实体就是在普通实体名字前面加上%”。

dtd中的代码:

<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY % p "test"> <!-- 先声明后使用 -->
<!ELEMENT roster ((%p;)+)>
<!ELEMENT %p; (name,sex,birthday,score?,skill+)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!ELEMENT birthday (#PCDATA)>
<!ELEMENT score (#PCDATA)>
<!ELEMENT skill (#PCDATA)>
<!ATTLIST %p; id ID #REQUIRED>

对应的xml代码:

demo1.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE roster  SYSTEM "demo11.dtd"[
	<!ENTITY % p "teacher">  <!-- 给参数赋值 -->
]>
<roster>
	<teacher id="s">
		<name></name>
		<sex></sex>
		<birthday></birthday>
		<skill></skill>
	</teacher>
</roster>

demo2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE roster SYSTEM "demo11.dtd"[
	<!ENTITY % p "student"> <!-- 给参数赋值 -->
]>
<roster>
	<student id="s">
		<name></name>
		<sex></sex>
		<birthday></birthday>
		<skill></skill>
	</student>
</roster>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读