ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

XML:DTD约束

2019-07-10 17:08:17  阅读:133  来源: 互联网

标签:XML xml 设计模式 演示 约束 html DTD


DTD约束

框架的由来:
就是由多种设计模式配合形成的
特定的框架处理特定问题
底层是通过Java的反射机制来完成

什么是设计模式:
固定的解决方案,Java的解决方案23中
被统称为23种设计模式
DTD的作用:
dtd是xml配置文件的约束技术中的一种
补充:(schema—>xsd文件)
xml的概念
web.xml配置tomcat的一些东西
** xml的用途?**
做配置(几乎99%的框架都有配置文件)
做数据传输
html与xml区别?
约束的差异性
html是超文本
xml是可拓展标记语言
xml能够通过字符串表示对象的结构
代码演示:
Html:

<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h1>xx</h1>
<b>1</b>
<c>xxx</c>
<xl>ssss</xl>
</body>
</html>

在这里插入图片描述
Web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>xml</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <c></c>
</web-app>

在这里插入图片描述
什么是格式良好XML
1.1 有且只有一个根元素
1.2 XML标签大小写正确区分
1.3 正确使用结束标签
1.4 正确嵌套标签
1.5 使用了合法的标签名
1.6 定义有效的属性
合法的XML
格式良好XML代码演示:

<?xml version="1.0" encoding="UTF-8"?>
<persons>
	<person pid="p1" sex="男" qq="aaa" parent="p2">
		<name>张小明</name>
		<age>10</age>
		<contact>
			<phone>1234567</phone>
		</contact>
		<br/>
	</person>
	<person pid="p2">
		<name>张大明</name>
		<age>35</age>
		<contact>
			<email>123@qq.com</email>
		</contact>
	</person>
</persons>

在XML加入DTD声明
DTD对元素限制
代码演示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE persons [
	<!ELEMENT persons (person+)>
	<!ELEMENT person (name,age,contact,br?)>
	<!ELEMENT name (#PCDATA)>
	<!ELEMENT age (#PCDATA)>
	<!ELEMENT contact (phone|email)>
	<!ELEMENT phone (#PCDATA)>
	<!ELEMENT br EMPTY>
	<!ELEMENT email (#PCDATA)>
]>
<persons>
	<person>
		<name>张小明</name>
		<age>10</age>
		<contact>
			<phone>1234567</phone>
		</contact>
		<br/>
	</person>
	<person>
		<name>张大明</name>
		<age>35</age>
		<contact>
			<email>123@qq.com</email>
		</contact>
	</person>
</persons>

之后再随意写
在这里插入图片描述
DTD对属性限制
代码演示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE persons [
	<!ELEMENT persons (person+)>
	<!ELEMENT person (name,age,contact,br?)>
	<!ELEMENT name (#PCDATA)>
	<!ELEMENT age (#PCDATA)>
	<!ELEMENT contact (phone|email)>
	<!ELEMENT phone (#PCDATA)>
	<!ELEMENT br EMPTY>
	<!ELEMENT email (#PCDATA)>
	<!ATTLIST person
	pid ID #REQUIRED
	sex (男|女) '男'
	qq CDATA #IMPLIED
	parent IDREF #IMPLIED
	>
]>
<persons>
	<person pid="p1" sex="男" qq="aaa" parent="p2">
		<name>张小明</name>
		<age>10</age>
		<contact>
			<phone>1234567</phone>
		</contact>
		<br/>
	</person>
	<person pid="p2">
		<name>张大明</name>
		<age>35</age>
		<contact>
			<email>123@qq.com</email>
		</contact>
	</person>
</persons>

之后再随意写
在这里插入图片描述
DTD对config.xml限制

<?xml version="1.0" encoding="UTF-8"?><!--myy  -->
<!DOCTYPE config[
  <!ELEMENT config (action*)><!--config标签:可以包含0~N个action标签  -->
  <!ELEMENT action (forward*)><!-- action标签:可以饱含0~N个forward标签 -->
  <!ELEMENT foward EMPTY>
  <!--path:以/开头的字符串,并且值必须唯一 非空 ,子控制器对应的路径  -->
  <!-- type:字符串,非空,子控制器的完整类名 -->
  <!ATTLIST action 
      path CDATA #REQUIRED
      type CDATA #REQUIRED
  >
  <!ATTLIST forward
      name CDATA #REQUIRED
      path CDATA #REQUIRED
      redirect (true|false) 'true'
  >
]>
	
<config>
	<!--
		action标签:可以饱含0~N个forward标签
	    path:以/开头的字符串,并且值必须唯一 非空 ,子控制器对应的路径
		type:字符串,非空,子控制器的完整类名
	-->
	<action path="/registerAction" type="test.action.RegisterAction">
		<forward name="success" path="/index.jsp" redirect="true" />
		<forward name="failed" path="/register.jsp" redirect="false" />
	</action>
	<action path="/loginAction" type="test.action.LoginAction">
		<forward name="a" path="/index.jsp" redirect="false" />
		<forward name="b" path="/welcome.jsp" redirect="true" />
	</action>
</config>

XML中的特殊符号

&(逻辑与)  &amp;        
<(小于)    &lt;        
>(大于)    &gt;        
"(双引号)  &quot;      
'(单引号)  &apos;

标签:XML,xml,设计模式,演示,约束,html,DTD
来源: https://blog.csdn.net/qq_45243895/article/details/95350310

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有