zoukankan      html  css  js  c++  java
  • xml笔记

    <!-- 注释 -->
    文档声明:必须在文件开头

    • <?xml version="1.0" encoding="gbk">
      • 属性:  
        • version: 版本号    
        • encoding: 编码    
        • standalone: 是否需要依赖其他文件    
    • <![CDATA[ 内容]]>:内容中出现的特殊符号不需要转义

    xml的约束
    dtd约束 和 schema约束
    dtd约束:

    • <!ELEMENT 元素名 约束>
      • 约束:  
        • 如果有子元素,就写子元素列表    
          • (元素名1[+/?/*],元素名2...)      
            • +: 一次或多次        
            • ?: 零次或一次        
            • *: 任意次        
            • ','换成'|': 在列出元素中选择一个        
            • ',': 表示元素必须按指定的顺序出现        
        • 没有子元素,写元素类型    
          • (#PCDATA): 字符串类型      
          • EMPTY:元素为空      
          • ANY: 任意      
    • dtd定义元素属性:
      • <!ATTLIST 元素名 属性名 属性类型 属性约束>  
        • 属性类型:    
          • CDATA: 普通文本字符串      
          • ENUMERATED: 枚举(枚举值1|枚举值2...)      
          • ID: 取值不能重复      
        • 属性约束:    
          • #REQUIRED: 必须出现      
          • #IMPLIED: 可有可无      
          • #FIXED: 固定值:#FIXED "固定值"      
          • 直接值:默认值      
    • 定义运用实体:(写在内部dtd里,否则有些浏览器取不到值)
      • <!ENTITY 实体名 "实体内容">  
      • 在xml中引用: &实体名;  
    • xml文件中引入:
      • 使用本地dtd文件: <!DOCTYPE 根元素名 SYSTEM "dtd文件路径">  
      • 使用内部dtd: <!DOCTYPE 根元素名 [ dtd代码 ]>  
      • 使用网络的dtd: <!DOCTYPE 根元素名 PUBLIC "dtd名称" "dtd文档的url">  

    schema约束:

    • 特点:
      • 符合xml的语法  
      • 一个xml中可以有多个schema,多个schema使用名称空间区分(类似java的包)  
      • schema中支持更多的数据类型  
    • <schema></schema>:最外层标签
      • 标签写法为:<schema xmlns="http://www.w3.org/2001/XMLSchema"  
        • targetNamespace="http://www.example.org/1"    
        • xmlns:tns="http://www.example.org/1"    
        • elementFormDefault="qualified">    
        • 属性:    
          • xmlns: 默认使用的名称空间      
          • targetNamespace: 声明该文档中的元素属于哪个命名空间      
          • xmlns:tns: 该文档使用的元素和数据类型来自哪个命名空间,同时来自这个命名空间的元素和数据类型应该使用前缀xsd:      
          • elementFormDefault="qualified": 指出XML文档使用在此schema中声明过的元素必须被命名空间限定      
    • <element></element>: 定义元素
      • 若有子元素:  
        • <element><complexType><元素指示器>子element元素</元素指示器></complexType></element>    
          • 元素指示器:      
            • sequence: 表示元素是有顺序的        
            • all: 表示只能出现一次        
            • Choice: 只能出现其中一个        
          • 设置属性:(放在</complexType>前)      
            • <attribute></attribute>        
              • 属性:          
                • name: 名称            
                • type: 类型            
                • use: 是否必须有            
      • 若无子元素:  
        • <element></element>    
          • 属性:      
            • name: 数据名称        
            • type: 数据类型        
            • maxOccurs: 表示出现次数,="unbounded"时无限制        
        • <any></any>: 可以出现任意元素    
      • xml文件中引入:  
        • <根元素名 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.example.org/1" xsi:schemaLocation="http://www.example.org/1 1.xsd">    
          • 属性:      
            • xmlns: 声明默认约束来自哪个名称空间        
            • xsi:schemaLocation: 引入的名称空间和哪个xsd文件对应,第一个为名称空间, 第二个为xsd文件路径.        
  • 相关阅读:
    《基于CMMI的软件工程及实训指导》第一章读书心得
    第一个微信小项目
    自己设计大学排名-数据库实践
    第一次爬虫和测试
    预测球队比赛成绩
    自己的第一个网页
    科学计算和可视化
    第一个微信小项目
    数据库实际
    第一个爬虫和测试
  • 原文地址:https://www.cnblogs.com/hujingnb/p/10236033.html
Copyright © 2011-2022 走看看