xml语言

javaWeb 之 XML基础(二)

六眼飞鱼酱① 提交于 2020-03-02 10:10:05
一、XML约束模式->纲要 ● 格式良好的(Well-formed)XML ● XML的约束模式 ● XML约束模式语言 ● 有效的(Valid)XML 1、格式良好的(Well-formed)XML ● 计算机程序在处理XML文档之前,首先必须能够解析出XML文档内容中的各个元素的相关信息。 ● 用于解析XML文档的解析器程序对应的英文术语叫Parser。 ● 要让计算机程序解析出XML文档内容所表达的信息, XML文档更应该严格遵循一定的语法。 ● 遵守XML基本语法规则和规范的XML文档就可以称之为“Well-formed XML”,中文意思就是“格式良好的XML”。 2、XML的约束模式 ● 为什么要有约束模式? 举例: <书架> <书> <书名>Java程序设计</书名> <作者 姓名=“ ”></作者> <售价 单位=“元”>38</售价> <售价单位=“元”>28</售价> </书> </书架> ● 约束模式定义了XML文档中允许出现的元素名(也就是标记名)、元素中的属性、元素中的内容类型以及元素之间的嵌套关系和出现顺序。 ● XML约束模式不仅定义了XML文档的词汇表,它还定义了一个XML文档必须遵循什么样的结构。 ● 如果把一个XML文件看作是数据库中的一个表,那么XML约束模式就相当于数据库表结构的定义。 ● 如果没有为一个XML文档指定约束模式

DSL的演进(转 infoQ)

穿精又带淫゛_ 提交于 2020-03-02 09:04:23
阅读: 235 评论: 0 作者: 周 金根 发表于 2010-05-19 13:39 原文链接 < AddThis Button END > 简介 领域特定语言( DSL ) 是针对特定问题领域的编程语言,而非通用语言。要创建“不重复自己”(Don't Repeat Yourself)、“业务用户可读”的代码,DSL可是个好方法。在过去的几年里,有关DSL的文章比比皆是。 相关 厂商 内容 亚太软件研发团队管理年会上海站珠海站火热报名中 IBM 360°讲师团招募:每个爱技术乐分享的人都有机会 创建一种领域特定语言并非难事。但我们对领域的理解总是不断深入,要让DSL长期有用,我们就需要一种不断完善DSL的策略。如果你正在开发一个大型项 目,或是一条软件产品线( SPL ), 在很长一段时间内都需要使用DSL的话,那你最好考虑清楚该如何处理DSL的演进。 从借助版本化实现的向后兼容性,到语句的自动转换,本文将着眼于不断简化DSL演进过程的DSL构建方法。 避免问题 在第三代编程语言(3GL)的世界里,语言设计者非常清楚向后兼容性的重要性。无论Java的下一个版本会有哪些变化,都不太可能破坏先前版本中添加的任 何功能。不过使用DSL时,随着我们对问题空间的进一步探索,我们对领域的理解会发生彻底改变。在单独项目中,业务专家往往会在后期提出新的领域概念,这 就迫使你要追根溯源

Eclipse 中手动导入 XML DTD 和 Scheme 文件

你说的曾经没有我的故事 提交于 2020-03-02 09:00:00
今天在用 Eclipse 开发 Spring-base 的项目时,一些 Spring 配置文件的 XML DTD 和 Scheme 老是无法从 Spring 官网上下载下来,导致 Eclipse 老是对那些配置文件报错,而且最重要的是无法使用 Eclipse 编辑器的自动提示o(╯□╰)o,从网上找了一篇文章并实践了下,完美解决,写篇日志记录下。 1,准备工作   把缺失的 DTD 或 XSD 文件下载到本地 2,导入到 Eclipse   打开 “ 首选项 - XML - XML目录 ”,在 “插件指定的条目” 中可以看到很多已导入到 Eclipse 的 Namespace name,Scheme location 和 公共标识,“用户指定的条目”是指用户手动导入的条目,也就是本篇日志的目的地   点击“添加”,选择 “ Catalog Entry ”,指定本地文件的路径后,选择 "Key type":Namespace name,Scheme location 或公共标识,键值要与 DOCTYPE 声明中的相关条目匹配 3,点击确定后,就享受自动提示所带来的便利吧! 来源: https://www.cnblogs.com/magicboylinw/archive/2011/12/08/2280535.html

XML的相关基础知识分享(二)

穿精又带淫゛_ 提交于 2020-03-02 08:50:03
前面我们讲了一下 XML相关的基础知识(一) ,下面我们在加深一下,看一下XML高级方面。 一、命名空间 1、命名冲突 XML命名空间提供避免元素冲突的方法。 命名冲突:在XML中,元素名称是由开发者定义的,当两个不同的文档使用相同的原俗名时,就会发生命名冲突。例如:下面这个XML文档携带者某个表格中的信息: 1 <table> 2 <tr> 3 <td>Apples</td> 4 <td>Bananas</td> 5 </tr> 6 </table> 这个XML文档携带有关桌子的信息(一件家具): 1 <table> 2 <name>African Coffee Table</name> 3 <width>80</width> 4 <length>120</length> 5 </table> 假如这两个XML文档被一起使用,由于两个文档都包含带有不同内容和定义的<table>元素,就会发生命名冲突。XML解析器无法确定如何处理这类冲突。 2、使用前缀来避免命名冲突 此文档带有某个表格的信息: <table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table> 此XML文档携带着有关一件家具的信息: <f:table> <f:name>African Coffee

Android开发指南-框架主题-资源和资产

£可爱£侵袭症+ 提交于 2020-03-02 08:35:03
Android开发指南-框架主题-资源和资产 资源和资产Resources and Assets 资源是Android应用程序不可或缺的部分。一般而言,资源是你想包含和引入到应用程序里面的一些外部元素,比如图片、音频、视频、文本字符串、布局、主题等。每个Android应用程序包含一个资源目录(res/)和资产目录(assets/),资产不经常被使用,因为它们的应用程序很少。你仅在需要读取原始字节流时才需要保存数据为资产。资源和资产目录均驻留在Android项目树的顶端,和源代码目录(src/)处在同一级上。 资源和资产从表面上看没多大区别,不过总体上,在存储外部内容时资源用得更多。真正的区别在于任何放置在资源目录里的内容可以通过您的应用程序的R类访问,这是被Android编译过的。而任何存放在资产目录里的内容会保持它的原始文件格式,为了读取它,你必须使用AssetManager来以字节流的方式读取文件。所以保持文件和数据在资源中(res/)中会更方便访问。 在这篇文章中,你将获取关于Android应用程序经常使用的标准资源类型以及如何在代码中引用方面的信息。资源和国际化(Resources and Internationalization)是第一步,可以知道Android如何利用项目资源。然后,可用资源类型(Available Resource Types

Flash Socket通信的安全策略问题 843端口

烂漫一生 提交于 2020-03-02 07:57:22
1、问题描述 将flash发布为html格式后,加载页面后,swf无法与服务器进行socket通信。Flash端显示的错误为: securityErrorHandler信息: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"] 在服务器端显示的信息是由客户端尝试进行连接,但是无法接受数据。接受的数据显示为空。 2.问题原因: 最新的Flash player 9.0.124.0,当flash文件要进行socket通信的时候,需要向服务器端获取crossdomain.xml文件。如果找不到就出现客户端无法连接服务器的现象。 了解flash发起socket通信的三个过程 当封装在页面的flash发起socket通信请求的时候会先寻找服务器端的843端口,获取Crossdomain.xml文件,当服务器没有开启843的时候,flashPlayer会检查发起请求的swf文件中中有没有使用Security.loadPolicyFile来加载策略文件Crossdomain.xml,如果还是没有就会看这个发起请求的swf要连接的目标端口有没有策略文件。如果都没有那么连接失败,返回如上的出错提示。 为什么老版本的Flash

Weblogic跨域session冲突解决办法

人走茶凉 提交于 2020-03-02 06:06:41
一、现象: 在WebLogic中,有两个不同域A(端口:9000)和B(端口:8000),应用CA在域A中,应用CB在域B中,进行如下操作: 1、先登录应用CA,再登录应用CB,然后,切换回应用CA,发现应用CA的Session丢失; 2、应用CA中有指向应用CB的链接,登录应用CA,点击指向应用CB的链接,应用CA的Session丢失; 二、原因: 因Cookie冲突导致Session丢失。 Cookie的覆盖机制: 如果一个新的cookie与一个已存在的cookie的NAME、Domain和Path属性值均相同,则旧的cookie会被丢弃。(参考: http://code.google.com/p/browsersec/wiki/Part2#Same-origin_policy_for_cookies ) WebLogic的Cookie相关配置: 属性名 默认值 值 cookie-name JSESSIONID 如未设置,默认为“JSESSIONID” cookie-path NULL 如未设置,默认为“/” cookie-domain NULL 如未设置,默认为发放cookie的服务器的域   由于没有在Weblogic.xml配置文件中对cookie的相关属性值进行配置,因此应用CA和应用CB的cookie的Name、 Domain和Path属性值均为默认值

J2EE复习(二)XML

吃可爱长大的小学妹 提交于 2020-03-02 05:06:15
XML(eXtensible Markup Language)简介 XML 可扩展标记语言 XML是一种您可以用来创建自己的标记的标记语言。 XML由万维网协会(W3C)创建 XML和Html比较 比较内容 HTML XML 可扩展性 不具有扩展性 是元标记言,可用于定义新的标记语言 侧重点 侧重于如何表现信息 侧重于如何结构化地描述信息 语法要求 不要求标记的嵌套、配对等, 严格要求嵌套、配对,并遵循DTD 不要求标记之间具有一定的顺序 的树形结构 可读性及可维护性 难于阅读、维护 结构清晰,便于阅读、维护 数据和显示的关系 内容描述与显示方式整合为一体 内容描述与显示方式相分离 编辑及浏览工具 已有大量的编辑、浏览工具 编辑、浏览工具 XML优势 数据重用 数据和表示分离 可扩展性 语意信息 XML 声明 XML声明一般是XML文档的第一行 XML声明由以下几个部分组成: version - -文档符合XML1.0规范 encoding - -文档字符编码,默认为"UTF-8" 遵循如下规则的XML文档称为结构完整: 语法规范 1.必须有XML声明语句 <?xml version="1.0" encoding=“GBK"?> 2.必须有且仅有一个根元素 3.标记大小写敏感 4.属性值用引号 5.标记成对 6.空标记关闭 7.元素正确嵌套 元素语法 1.名称中可以包含字母

Android布局实现圆角边框

纵饮孤独 提交于 2020-03-01 21:27:41
首先,在res下面新建一个文件夹drawable,在drawable下面新建三个xml文件:shape_corner_down.xml、shape_corner_up.xml和shape_corner.xml,分别是下面两个角是圆角边框,上面两个角是圆角边框,四个角全部是圆角边框。 shape_corner_down.xml: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#0099CC" /> <corners android:bottomRightRadius="20dp" android:bottomLeftRadius="20dp"/> <stroke android:width="1dp" android:color="#000000"/> </shape> shape_corner_up.xml: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#CCCC99

ViewPager的介绍和使用

我们两清 提交于 2020-03-01 16:44:27
ViewPager的介绍和使用 ViewPager简介和用处 1 ,我们先在xml中引入一下. 2 ,然后在layout文件文件夹中,创建一个viewPager的布局文件 3,就像使用listview一样,现在该创建适配器了 4, 按照业务需求完善适配中的方法 5 在activity中初始化viewPager和adapter 运行效果 viewPage的翻页动画 自定义翻页效果代码 自动翻页 翻页监听 设置方法 翻页监听接口 重写方法 ViewPager与Fragment结合使用 ( 重 点 ) 创建Fragment及相应的xml布局 给Viewpager设置数据和适配器 FragmentStatePagerAdapter FragmentPagerAdapter ViewPager简介和用处 使用效果图 Viewpager,视图翻页工具,提供了多页面切换的效果。Android 3.0后引入的一个UI控件,位于v4包中。低版本使用需要导入v4包,但是现在我们开发的APP一般不再兼容3.0及以下的系统版本,另外现在大多数使用Android studio进行开发,默认导入v7包,v7包含了v4,所以不用导包,越来越方便了。 Viewpager使用起来就是我们通过创建adapter给它填充多个view,左右滑动时,切换不同的view