Java使用Schema约束xml文件

使用Schema约束xml文件:

以computer.xml文件为例。

1.创建一个computer.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<computers
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://www.example.org/computer"
 xsi:schemaLocation="http://www.example.org/computer computer.xsd"
>

<computer>
  <memories>
   <memory>
    <size>1G</size>
   </memory>
   <memory>
    <size>2G</size>   
   </memory>
  </memories>
 </computer>

</computers>

1.2.创建一个computer.xsd文件。

<?xml version="1.0" encoding="UTF-8"?>

<schema xmlns="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://www.example.org/computer"

xmlns:tns="http://www.example.org/computer"

xmlns:mem="http://www.example.org/memory" elementFormDefault="qualified"

>

<element name="computers">

  <complexType>

    <sequence>

      <element name="computer" type="tns:computerType">

    </sequence>

  </complexType>

</element>

  <complexType name="computerType">

    <all>

      <element name="memories">

      <complexType>

        <sequence>

          <element name="memory" minOccurs="1" maxOccurs="2"></element>

        </sequence>

      </complexType>

      </element>

    </all>

  </complexType>

</schema>

2.创建一个computer.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<computers
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://www.example.org/computer"
 xmlns:mem="http://www.example.org/memory"
 xsi:schemaLocation="http://www.example.org/computer computer.xsd
      http://www.example.org/memory memory.xsd"
>
<!-- 在嵌套过程中需要加入以下两句。

xmlns:mem="http://www.example.org/memory"
 xsi:schemaLocation="http://www.example.org/memory memory.xsd"
-->
 <computer>
  <memories>
   <memory>
    <mem:size>1G</mem:size>
   </memory>
   <memory>
    <mem:size>2G</mem:size>   
   </memory>
  </memories>
 </computer>
</computers>

2.2.创建一个computer.xsd文件。

<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/computer"

xmlns:tns="http://www.example.org/computer"

xmlns:mem="http://www.example.org/memory"

elementFormDefault="qualified">

<!--在嵌套过程中要加入一下两句。

xmlns:mem="http://www.example.org/memory"

<import namespace="http://www.example.org/memory" schemaLocation="memory.xsd"></import>

-->

<import namespace="http://www.example.org/memory" schemaLocation="memory.xsd"></import>

<element name="computers">

<complexType>

<sequence>

<element name="computer" type="tns:computerType"></element>

</sequence>

</complexType>

</element>

<complexType name="computerType">

<all>

<element name="memories">

<complexType>

<sequence>

<element name="memory" type="mem:memoryType" minOccurs="1" maxOccurs="2">

</element>

</sequence>

</complexType>

</element>

</all>

</complexType>

</schema>

2.3创建一个memory.xsd文件。

<?xml version="1.0" encoding="UTF-8"?>

<schema xmlns="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://www.example.org/memory"

xmlns:tns="http://www.example.org/memory"

elementFormDefault="qualified">

<complexType name="memoryType">

<all>

<element name="size" type="string" ></element>

</all>

</complexType>

</schema>

时间: 2024-11-10 02:05:19

Java使用Schema约束xml文件的相关文章

xml语法、DTD约束xml、Schema约束xml、DOM解析xml

今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的html语言,html是超文本标记语言,使用html语言规定好的标签来封装文本数据.而html使用的标签html语言规定好的,每个标签都有自己特定的功能. xml语言,可扩展的标记语言,这门语言它没有定义任何的标记,而标记是由使用者自己来定义,但是由于标签名称以及属性名称都由用户自己来命名,导致别人在使

Java是如何解析xml文件的(DOM)

Java解析xml文件 在Java程序中读取xml文件的过程也称为"解析xml文件": 解析的目的: 获取 节点名和节点值 获取 属性名.属性值. 四中解析方式: DOM SAX DOM4J JDOM (其中DOM.SAX是官方提供的解析方式,不需要额外的jar包,后两种则需要) 例:DOM方式解析books.xml文件 <?xml version="1.0" encoding="UTF-8" ?> <bookstore>

JAVA增删改查XML文件

最近总是需要进行xml的相关操作. 不免的要进行xml的读取修改等,于是上网搜索,加上自己的小改动,整合了下xml的常用操作. 读取XML配置文件 首先我们需要通过DocumentBuilderFactory获取xml文件的工厂实例. DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); dbf.setIgnoringElementContentWhitespace(true); 创建文档对象 1 DocumentBui

使用idea搭建maven项目时 java目录下的xml文件没有加载的解决方法

今天在idea集成开发环境下 使用maven搭建了ssm项目,遇到了3个问题 首先我们先复习一下知识点: 第一步:在web.xml中配置spring监听器 <!-- spring监听器 加载spring容器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <con

Java中的的XML文件读写

读取xml文件: public static void getFamilyMemebers(){ DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); dbf.setIgnoringElementContentWhitespace(true); try { DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(xmlPath); //

java Graphics2D根据流程xml文件画流程图(完整代码)

1.先来一张效果图 2.java代码 package com.geoway.plan.action; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.awt.geom.GeneralPath; import java.awt.image.Buffered

Java 创建过滤器 解析xml文件

今天写了一个过滤器demo,现在是解析actions.xml文件,得到action中的业务规则:不需要导入任何jar包 ActionFilter过滤器类: package accp.com.xh.utils; import java.io.IOException; import java.io.InputStream; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.Filte

Java:简单的读写XML文件之使用DOM4J读写

Dom4J方式解析XML文件.dom4j是非官方提供的xml文件解析方式,因此需要去第三方下载dom4j的jar包 File file = new File("D:\\chengmuzhe\\java\\JavaOOP6.0\\students.xml"); SAXReader reader = new SAXReader(); Document document = reader.read(file); Element root = document.getRootElement()

Java:简单的解析XML文件之使用DOM解析

XML简介 要理解XML,HTML等格式,先来理解文档对象模型DOM 根据 DOM,HTML 文档中的每个成分都是一个节点,这些节点组成了一棵树.DOM 是这样规定的:整个文档是一个文档节点每个 HTML 标签是一个元素节点包含在 HTML 元素中的文本是文本节点每一个 HTML 属性是一个属性节点注释属于注释节点 节点彼此都有等级关系.HTML 文档中的所有节点组成了一个文档树(或节点树).HTML 文档中的每个元素.属性.文本等都代表着树中的一个节点.树起始于文档节点,并由此继续伸出枝条,直