整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Notepad ++UWP版上架微软商店

Notepad ++UWP版上架微软商店

T之家3月13日消息 Notepad ++是一款经典的开源文本、代码编辑器,并且可以替代系统自带的记事本的功能,同时也支持各类流行的计算机编程语言。目前,这款产品的UWP版本已经在Windows应用商店上架。

官方表示,UWP版的首个版本为桌面纪念版,第一个版本号就是7.5.5.0,能够提供桌面版的完整功能。

编辑器可以运行在微软的windows系统环境下,它的使用是受GPL许可证保护的,支持的语言:C、C++、Java、C#、XML、HTML、PHP、Javascript。

下载地址:点此访问

想看到更多这类内容?去APP商店搜IT之家,天天都有小欢喜。

习《Python Cookbook》第三版

将 HTML 或者 XML 实体如 &entity; 或 &#code; 替换为对应的文本。再者,你需要转换文本中特定的字符 (比如<, >, 或 &)。

如果你想替换文本字符串中的 ‘<’ 或者 ‘>’ ,使用 html.escape() 函数可以很容易的完成。比如:

import html

my_str='Elements are written as "<tag>text</tag>".'
print(my_str)	# Elements are written as "<tag>text</tag>".
print(html.escape(my_str))	# Elements are written as "<tag>text</tag>".
print(html.escape(my_str, quote=False))	# Elements are written as "<tag>text</tag>".

对于escape()方法的官方解释:

html.escape(s, quote=True)

Convert the characters &, < and > in string s to HTML-safe sequences. Use this if you need to display text that might contain such characters in HTML. If the optional flag quote is true, the characters (") and (') are also translated; this helps for inclusion in an HTML attribute value delimited by quotes, as in <a href="...">.

将字符串s中的字符&,<和>转换为HTML安全序列。 如果您需要在HTML中显示可能包含此类字符的文本,请使用此选项。 如果可选的标记quote为true,则还会翻译字符(“)和(');这有助于包含在用引号分隔的HTML属性值中,如<a href="...">中所示。

如果你正在处理的是 ASCII 文本,并且想将非 ASCII 文本对应的编码实体嵌入进去,可以给某些 I/O 函数传递参数 errors='xmlcharrefreplace' 来达到这个目。比如:

my_str='Spicy Jalape?o'

print(my_str.encode('ascii', errors='xmlcharrefreplace'))	# b'Spicy Jalape?o'

其中,xmlcharrefreplace的作用是:将非ascii字符替换为xml合适字符引用

字符引用通过其通用字符集/ Unicode代码点引用字符,并使用以下格式:

&#nnnn; 或者 &#xhhhh;

上边的例子非ascii码字符?,被替换为ñ;

更多的XML字符引用,可以查看WIKI网址:

https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

为了替换文本中的编码实体,你需要使用另外一种方法。如果你正在处理 HTML或者 XML 文本,试着先使用一个合适的 HTML 或者 XML 解析器。通常情况下,这些工具会自动替换这些编码值,你无需担心。

有时候,如果你接收到了一些含有编码值的原始文本,需要手动去做替换,通常你只需要使用 HTML 或者 XML 解析器的一些相关工具函数/方法即可。比如:

my_str_special='This is a special character "<è>"'
print(html.unescape(my_str_special))	# This is a special character "<è>"


from xml.sax.saxutils import unescape
my_str_special_1='The prompt is >>>'
print(unescape(my_str_special_1))	# The prompt is >>>

在生成 HTML 或者 XML 文本的时候,如果正确的转换特殊标记字符是一个很容易被忽视的细节。特别是当你使用 print() 函数或者其他字符串格式化来产生输出的时候。使用像 html.escape() 的工具函数可以很容易的解决这类问题。

如果你想以其他方式处理文本,还有一些其他的工具函数比如xml.sax.saxutils.unescapge() 可以帮助你。然而,你应该先调研清楚怎样使用一个合适的解析器。比如,如果你在处理 HTML 或 XML 文本,使用某个解析模块比如html.parse 或 xml.etree.ElementTree 已经帮你自动处理了相关的替换细节。


ML;
是什么?
Extensible Markup Languare 可扩展标记型语言

为什么要有XML?
1.HTML的标签是固定的,不可以改变,也不可以进行一个···扩展
2.HTML语法松散

作用;
制作配置文件;如组件类。。。。。
存储数据;存储少量的数据

◆◆◆注;XML不是HTML的升级版,因为应用的领域不一样。
XML是描写关系型的数据
HTML是描述页面的数据显示效果

--------------------------------------------XML和HTML的区别--------------------------------------------------------------------

XML和HTML的区别;
A、HTML是将数据和显示的效果混合在一起,描述了数据的显示效果,
-----而且标签是固定,而且语法松散

B、XML是将数据和显示的效果是分离的,只是描述了数据之间的关系和存储的格式,
-----没有描述数据的显示效果,没有一套具体的标签,只是一个规范。

XML适用金融,科学等有关系型的领域

XML的重点是;处理数据,和数据结构


◆注;引入外部CSS文件,对XML标签进行一个修饰,
<>xml-stylesheet tyep="text/css" href="">

--------------------------------------------XML的特点--------------------------------------------------------------------

XML特点;
1.语法严谨,区分大小写
2.标签名可以是中文
3.文件后缀是 .xml
4.换行也是算一个元素
5.可以自定义标签
6.id不可以以数字开头

存储数据的方式;
* XML 存储关系型的数据
* properties 存储key,value的数据
* 文本 什么都可以存储
* 数据库



--------------------------------------------XML的语法--------------------------------------------------------------------




XML语法;
1.文档声明 Document declaration;
版本 编码集 是否与其他文件关联
<?xml vaersion="1.0" encoding="编码集" standalone="no默认" ?>

2.元素 Element;
1.自定义标签;建议标签名全部小写,保持与HTML的书写习惯,
因为出现同名的大小写不便于阅读
2.成对出现
3.闭合标签和结束体标签
4.符合逻辑嵌套

3.属性 Attribute;
1.属性名小写,属性也是可以自定义的,
2.属性值要使用 "" 或 '',id不可以以数字开头
3.多个属性要使用 空格 隔开
4.可以将属性作为一个子标签,因为XML用途不是用于显示页面的

4.注释 Comment;
1.<!-- --> 和HTML一样
2.注释不可以嵌套

5.CDATA;
1.XML的转义字符基本和HTML一致。
2.如果需要转义的字符太多了则可以使 CDATA
3.CDATA可以将一段字符串原样的输出

<![CDATA[字符串]]>

6.处理指令;
1.处理指令时告知解析引擎是要如何处理文档的。
2.处理指令必须使用 <? ?>

<?xml-stylesheet type="text/css" href="路径">

◆注;
1.XML必须要有一个根节点
2.XML不会在页面显示
3.缩进写法适合阅读

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓XML—— 文件结构↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◆◆◆注; XML文档必须要有一个根节点◆◆◆

XML文件结构;
Node
|--- Element
|--- Attr
|--- Comment
|--- Text
|--- Document


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓XML—— 解析技术↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


xml解析;
为什么要有?
因为XML主要是用于存储数据,做配置文件.......
那么XML的数据的···取出···可以通过解析技术可以实现.....

而读取XML文件;
1.IO ---- 读取出来的数据不是理想的数据。
2.DOM解析 ---- DOM4J 是一个开源的解析技术
3.SAX解析 ---- SAX 是SUN公司定义的,比较规范,SAX里面也是有使用了DOM4J的技术

解析技术;
1.DOM4J 是一个开源组织的
2.JAXP 是SUN公司定义的
|-- DOM
|-- SAX


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓DOM—— 解析技术↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

DOM解析;
特点;1.是一次性装载这个文件到内存中,不利于大文件存取操作,
2.适合增删改查,因为一次是整个文件加载,无需在到硬盘对文件中的内容一个一个去查找
3.在内存中是一棵倒挂的树
4.DOM是解析XML的底层接口之一
5.是W3C定义的
6.DOM是一个规范,而DOM4J是一个实现了这个规范的解析技术

DOM4J;
1.是DOM解析的一个实现解析技术(如同实现类)
2.特点和DOM一样,也是一棵倒立的树型形状。
3.不是W3C定义的,是一个开源团队发布的

DOM4J;也是一个组件,而这个组件也是需要下载的,

-----------------------------------------------DOM4J获取XML文件的方式--------------------------------------------------------------------

◆◆◆注;注意导包的路径。

DOM4J获取文件的三种方式;
1.通过解析器的方法传入一个绝对路径

a.创建解析器
★ SAXReader sr=new SAXReader();

b.调用解析器的read方法获取XML文档,使用文档对象接收

★ Document doc=sr.read("绝对路径");

2.通过解析器的方法传入一个相对路径

a.创建解析器
★ SAXReader sr=new SAXReader();

b.调用解析器的read()方法,获取到XML文档,使用文档对象接收

★ Document doc=sr.read("相对路径");

3.通过类的getResourceAsStream("/文件名")方法

a.通过运行时类的对象的getResourceAsStream()的方法
---获取到这个XML文档的流

★InputStream is=类名.class.getResourceStream("/文件名");

b.创建解析器
★ SAXReader sr=new SAXReader();

c.调用解析器的read()方法传入获取到的XML文件流,使用文档对象接收

★ Document doc=sr.read(is);

------------------------------------------DOM4J获取XML文件的元素方法--------------------------------------------------------------------

◆◆◆注;必须要先获取到根节点,在根据根节点获取到其他节点 ◆◆◆

DOM4J获取元素方法; --- 使用Element Object调用

1.getRootElement() 获取到根节点

2.elements(写/没写) 只能写子标签,不可以写孙标签
没写;获取到所有的子标签标签 返回的是一个集合
写了;获取到指定标签名的所有标签

3.getName(); 获取到标签名
4.elementText() 获取到标签的内容
5.element() 获取到指定标签
6.elementById() 获取到指定的Id标签
7.elementIterator() 获取到标签迭代器
8.getQName() 获取到标签名

获取属性的方法;----使用 Element Object调用

1.attributeValue() 获取到指定的属性的值
2.attirbutes() 获取到所有的属性

添加的方法;----使用 Element Object 调用

1.addElement() 添加元素
2.addAttribute() 添加属性
3.addCDATA() 添加CDATA
4.addText() 添加标签内容

直接删除元素方法;使用获取到的元素对象,
◆ 调用detach()方法可以删除这个元素和这个元素的所有子元素。

如;element.detach()

------------------------------------------DOM4J刷新文件--------------------------------------------------------------------

DOM4J刷新文件;
1.声明文件内容的写入格式。
a.缩进格式;
OutputFormat of=OutputFormat.createPrettyPrint();

b.行内格式;
OutputFormat of=OutputFormat.createCompactFormat();

2.创建写入器
XMLWriter writer=new XMLWriter("FileStream_Path","OutputFormat_Obj");

3.调用写入器的方法写入重写写入文件
writer.write("Document_Obj");

◆注;
1.将获取到的XML文档对象的内容转换成一个字符串
String Document.asXML();

2.将字符串转换成一个XML文档对象
Document.DocumentHanper.parseText("String_Obj");

------------------------------------------DOM4J创建 --> 写入过程--------------------------------------------------------------------

◆◆◆注意导包◆◆◆

1.创建解析器对象;
SAXReader reader=new SAXReader()

2.调用解析器方法获取到XML文档;
Document doc=reader.read("String_Path");

3.获取到根路径;
Element doc.getRootElement();

---4.1;将获取到的文档对象转换成字符串
String doc.asXML();

---4.2;将字符串解析成一个XML文档对象
Document DocumnetHanper.parseText("String");

5.规定写入XML文件的格式;
1.OutputFormat of=OutputFormat.createPattryPrint(); --- 缩进格式
2.OutputFormat of=OutputFormat.createCompactFormat(); --- 行内格式

6.创建写入器;
XMLWriter writer=new XMLWriter("FileStream_Path",OutputFormat);

7.调用写入器的写入XML文件的方法;
writer.wirte(Document);

8.关闭流;
writer.close();

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓Xpath—— 查询表达式↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Xpath;
为什么要有?
在DOM4J中加载文件时,直接加载整个文件到内存中的,不便于获取某一个指定的节点。

什么是Xpath?
1、是一个查询表达式语言,也是一个开源的语言
2、在DOM4J中融合了这个Xpath这个查询表达式语言
3、这个语言也是一个组件来的,但是在DOM4J组件中已经附带了
dom4J --- lib --- jaxen-1.1-beta-6.jar

作用;
可以通过Xpath表达式快速定位到某一个XML文件的节点。

------------------------------------------Xpath—— 表达式符号 --------------------------------------------------------------------

表达式符号;
//x 相对定位到某节点
/x 绝对定位绝对定位到某一个节点
/* 是所有节点
[num] 第N个节点
[@x] 选中到某一个属性
normalize-span 去空格
[text()] 获取到内容

------------------------------------------Xpath—— 使用 --------------------------------------------------------------------

Xpath的使用;
DOM4J的selectNodes("表达式"); 方法
DOM4J的selectSingleNode("表达式"); 方法

Document .selectNodes() ------ 是返回所有节点的集合
Document .selectSingleNode("表达式") ----- 返回某一个具体的节点

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓JAXP —— 解析技术↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

JAXP解析技术;
是Sun公司开发的,是XML文档解析技术的一个集合统称。

包含;
DOM解析
一次性读取整个文件到内存中。

SAX解析
读取一行,解析一行,处理一行。

这2项解析技术都是由SUN公司制定的,较规范

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓JAXP——SAX —— 解析技术↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

SAX解析技术;
为什么要有?
1.DOM4J不适合大文件的读取,因为一次性加载整个文件。

是什么?
1.Simple API For XML 简单的解析XML文档API,是由SUN公司定义的一个解析技术,较规范。
2.也是融合了DOM4J的部分技术。

作用;
用于解析XML文档的一个解析技术

特点;
一次读取一行,解析一行,处理一行。

适合大文件的存取,不适合增删改查。

◆注;由于是SUN公司开发的,而在Eclipse或MyEclipse中已经有了组件。

◆◆◆◆◆注;SAX解析主要是用于查询,一般都不使用写入操作,因为一般的XML文件都不会太大

-----------------------------------------SAX获取XML文件的方式--------------------------------------------------------------------


SAX获取XML文件的方式;
只有 2 种,传入的字符串是···绝对路径···或···相对路径···

-----------------------------------------SAX获取XML文件的流程 --------------------------------------------------------------------

SAX获取XML文件的流程;
因为是SUN公司定义的所以也较规范,也定义了获取XML文件的流程

1.获取到解析器工厂对象
SAXParserFactory spf=SAXParserFactory.newInstance();

2.通过解析器工厂对象获取到具体的解析器对象
SAXParser sp=spf.newSAXParser();

3.通过具体的解析器对象,获取到读取器
XMLReader reader=sp.getXMLReader()

4.通过调用读取器的setContentHandler(obj)方法设置事件处理
reader.setContentHandler(obj);

5.调用读取器的解析方法,解析XML文件
reader.parse("绝对路径/相对路径");


◆注;具体的事件处理在继承事件处理接口·下·的具体实现类,的类中定义

事件处理;
在SAX中引入了一个事件处理的概念,是用于对文件的内容进行的处理。

1.在调用解析文件parse()的方法,时会触发事件处理方法中的对象的···主要三个方法···

2.而事件处理ContenHandler是一个接口,
如果实现这个了接口则需要实现这个接口的所有方法
所以可以实现这个接口的具体的实现类。

主要三个方法;
startElement(String uri, String localName, String qName,
Attributes attributes) ----- 获取到开始标签

characters(char[] ch, int start, int length) ----- 获取到标签内容

endElement(String uri, String localName, String qName)
----- 获取到结束标签

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓JAXP——DOM —— 解析技术↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

JAXP-DOM解析技术;
为什么要有?
1.在SUN公司定义了一个SAX解析,而这个解析的特点是,每次读取一行,
而不便于增删改。。。。。
2.而不用DOM4J,因为如果是使用SUN公司定义的标准较规范,

3.使得代码便于阅读,因为在阅读是不必查看是使用什么技术。。。。。

4.在未来的开发中统一使用SUN公司的技术,可以使得兼容性问题的风险降低。。

是什么?
JAXP-DOM解析技术是由SUN公司开发的,里面融合了DOM4J的部分技术

作用;
可以用于解析XML文档。

特点;
1.一次性加载整个XML文档到内存中。
2.不适合大的文档存取,适合增删改查
3.也是一个倒立的树型结构。

4.也是遵循DOM规范的。

------------------------------ JAXP——DOM —— 创建->获取XML文档流程 -------------------------------------------------------------------

Jaxp-DOM创建流程;
1.获取到Jaxp_DOM解析工厂对象
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();

2.通过解析工厂对象获取到具体的解析器对象
DomcumentBuilder db=dbf.newDocumentBuilder();

3.通过解析器的解析XML文档的方法获取到XML文档
Document doc=db.parse("绝对路径/相对路径")

操作文档元素的方法;
参考;Java_API ---> Document对象,中的方法
和DOM4J/SAX类似

◆◆◆注;不可以使用通过类名获取到文件输入流对象

Node n=doc.getElementsByTagName("节点名")[num];

-------------------------------- JAXP——DOM —— 创建->写入XML文档流程 --------------------------------------------------------------------

JAXP-DOM创建-写入;
1.获取到JAXP-DOM解析工厂接口对象
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();

2.通过解析工厂的对象获取到具体的解析器对象
DocumentBuilder bd=dbf.newDocumentBuilder();

3.使用解析器对象的parse()方法,获取到XML文档的对象
Document doc=bd.parse(绝对路径/相对路径);

4.1.在JAXP-DOM的中加入了插入的insertBefore();的方法
a.创建节点
Element_Obj.createElement("结点名");

b.获取到参考节点

c.获取到某一个节点(父节点)
Element ele=doc.getDocumentElement();

d.通过父节点插入某一个节点
ele.insertBefore(插入的节点,参考节点);

5.创建写入工厂对象 【transformer 转换模型】
TransformerFactory tff=TransformerFactory.newInstance();

6.通过工厂对象获取到具体的写入对象
Transformer tf=tff.newTransformer();

<------
7.调用写入对象的write方法写入
▲--> tf.write(new DOMSource("源文件路径"),new StreamResult(new FileOutputStream("目标路径")));


◆◆◆注;
1.new DOMSource() 是一个类,而这个类可以关联要转换的Document对象
2.new StreamResult() 是一个类,可以表示数据写出的目的地。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓ XML —— 约束↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

XML约束;
为什么要有?
在XML文档中的标签可以随意定义,使得文档不规范,
也避免用户输入有误,提高用户的体验性。

如;在描述人职业的XML文档中,用户不小心写错了或有人故意破坏,写了个动物标签。


什么是XML约束?
规定(规范)XML文档的书写格式。

作用;
使得文档变得规范,便于阅读,提高用户的体验性。

主流约束;
DTD
是一个控制不是很精准的一个约束技术
文件后缀是 .dtd

Scheme
是一个控制精准的一个约束技术,逐步的取代DTD
文件后缀是 .xsd

◆◆◆注;叫是叫Scheme而在书写scheme约束文档时是写schema
----因为Schema的意思更加具体。

schema :模式,计划
scheme :计划,策划,体制

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓ DTD —— 约束↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


DTD约束;
是什么?
Document Type Definition 文档类型定义

作用;
用于规定(规范)一个XML文档的书写格式

特点;
对文档的内容控制不够精准是,如做不到内容的控制等。

--------------------------------------------DTD文档定义 --------------------------------------------------------------------


DTD文档定义;
1.常用的数据类型;
(#PCDATA) 可变长度的字符串
EMPTY 空类型 【一般用于定义闭合标签】
ANY 任意类型

2.常用的定义符号;
? 0或1
+ 1或N
* 0或N
() 必须出现 1次


3.常用的定义元素的关键字;
ELEMENT 定义元素
ATTLIST 定义元素的属性


◆注;
1.都是大写
2.一个标签名可以同时使用2个,
因为;ELMENT是定义元素
ATTLIST 是定义元素的属性

4.定义属性常用的关键字;
1.#REQUIRED 必须给这个标签定义该属性
2.#IMPLIED 这个属性可写可不写
3.#Fixed 给这个属性定义一个固定值

--------------------------------------------DTD文档引入方式 --------------------------------------------------------------------

DTD文档引入方式;
1.外部引入;
<!DOCTYPE 根名 SYSTEM "文件名">

2.内部定义;
<!DOCTYPE 根名[
<!ELEMENT 根名(子标签)>
<!ELEMENT 子 (#PCDATA)>
]>

3.外部引入;key --- value
<!DOCTYPE 根名 PUBLIC "名称空间【唯一】" "文件名">

--------------------------------------------DTD文档定义 --------------------------------------------------------------------


1.文件后缀是DTD

<!ELEMENT 书名 (作者+,价格?)>
<!ElEMENT 作者 (#PCDATA)>
<!ATTLIST 作者 titile CDATA #IMPLIED>
<!ELEMENT 价格 (#PCDATA)>

2.DTD文件没有注释

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓ Scheme —— 约束↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

Scheme约束;
为什么要有?
1.DTD约束对XML的格式控制不够精准
2.使得用户可选择性更多,因为Scheme也比较麻烦


是什么?
Scheme;体制,策划

作用;
规范(规定)XML的文档书写格式

为什么说Scheme控制更加精准?
1.可选择规定的内容类型更多
2.内容类型的控制
3.内容的规定
特点;
1.文件后缀是.xsd
2.scheme文件的也是属于一个XML文件,因为声明处与XML一样
3.文件的根节点一定是【schema】

◆◆◆注;不要写成scheme ,
scheme 是策划,计划,体制
schema 是 计划,模式

--------------------------------------------Scheme文档定义 --------------------------------------------------------------------


Scheme文档定义;
1.可以指定一个自定义名

2.xmlns 的W3C域名是固定的格式,不可以改变

3.targetNamespace 域名名称空间可以自定义,但是是要求唯一的

4.elementFormDefault 是固定的格式

5.根标签一定要是 【schema】


常用关键字解析;
sequence 序列;
是指定约束XML文件定义节点时
按照一个什么顺序进行一个定义

complextype 复杂类型;
是在xsd文档声明这个节点下有子节点。

name;
是标签名
type;
是标签内容类型

★注;type如果设置成数值型(double,decimal....)的,一般都是要显示的赋值


常见的单词
Ocuurs 重视的意思
decimal 小数

--------------------------------------------Scheme文档开头解析 --------------------------------------------------------------------

xs是自定义的一个标识符
名称空间是一个key,保证唯一性用于约束XML文档时,XML文档找到这个文档

<?xml version="1.0" encoding="UTD-8"> ----- 指定文档类型
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" ----- 固定的格式

targetNamespace="自定义" ----- 自定义域名,用于标识,
|====一般是域名,保证在网络上的唯一性

elementFormDefault="qualified" ----- 固定格式,qualified;合格
>

</xs:schema>

----------------------------------XML文档 —— 引用 —— Scheme文档 --------------------------------------------------------------------

1.my ----- 是自定义的一个名字,可以用于在引入多个约束文件时,可以区分

2.xis ----- 是自定义的,也是可以用于在引入多个约束文件时区分,

3.xmlns:xis="http://www.w3.org/2001/XMLSchema-instance"
----- 是固定格式

4.xis:schemaLacation ----- 引入一个本地的文件,通过使用 名称空间 + 文件名 指定 key + value

<my:schema 【根名】 xmlns:my="scheme文档的名称空间值"
xmlns:xis="http://www.w3.org/2001/XMLSchema-instance"
xis:schemaLacation="scheme文档名称空间 文件名"
>

</my:scheme>