1.The anySimpleType are quite special as all primitive type is considered as derived by restriction from anySimpleType, but they are call "primitive" (normally, primitive types don't derive from other). The anySimpleType is the base type for anySimpleType, also for those complex types, note that complex type may be derived by restriction or extension.
2.There are 3 approaches to derive a simple type, by restriction, by list and by union.
3.Finally it says that constraining facet can apply to lexical space.
4.Built-in datatypes contain built-in primitive and built-in derived datatype. Datatypes defined by schema author is call user-derived datatype.
5.Built-in datatypes are put together with other xml schema definitions inside namespace "http://www.w3.org/2001/XMLSchema", also, they are separated and put in namespace "http://www.w3.org/2001/XMLSchema-datatypes".
6.String is consider to have the following aspect:
normalized - contains return, line feed or tab (preserve or replace)?
tokenized - is normalized, contains leading or trialing spaces, contains internal sequences of two or more spaces (collapse)?
contains only name characters (not whitespace) - Name and NMTOKEN
name characters fall into the following groups: letter, number, other character(. : _ -)
the first character of a string, : Name(:, _ and letters), NCName (non-colonized name, so only _ and letters), NMTOKEN(any name character is ok)
string may have external constrains, like ID should be unique, IDREF should refer to an existing ID, ENTITY should refer to an external unparsed entity, QName(qualified name, should has a prefix and a postfix separated by a colon, both prefix and postfix should be NCName, also prefix should be declared as a namespace prefix before)
7.Numbers are falled into 2 groups: finite (float, double, and [unsigned](long|int|short|byte) ), infinite (decimal and [[non]positive|negative]integer). Note that decimal can be any number, why float and double are not derived from decimal?
8.Datatype base64Binary and hexBinary are the same in value space (they are both byte array), but different in lexical space (one is base64 coded, another is hexadecimal coded).
9.For datatypes regarding to time, dateTime, time, date, gYearMonth and gYear represent a exact period, duration represent the length of some period, gMonthDay, gDay and gMonth represents some period that will recur.
10.The built-in datatype hierachy.
11.Fundamental facets describe some properties of a datatype which is readonly, that means each datatype has such properties but you can not modify them, I believe is only useful for describing those built-in datatypes so that they can be mapped to other languages. Here's the fundamental facets: equal, ordered, bounded, cardinality, numeric.
12.Restriction facets are placed inside the <restriction> tag, several facets can be used together. All facets except pattern and enumeration facet have a fixed attribute which denote whether derived datatype can override this attribute. All facets have a value attribute to specify the value. All facets's content text are ignored and used as annotation. Some facets can appear more than once, like pattern and enumeration.
<restriction base="xxx">
<facet_xxx fix="true|false" value="xxx">annotation</facet_xxx>
</restriction>
13.The whitespace, enumeration and pattern facets apply to all datatypes. The maxExclusive, maxInclusive, minExclusive, minInclusive, totalDigits and fractionDigits apply to number. The length, maxLength, minLength apply to string, list and byte array.
14.Notice the phase base type (for derived by XXX).
For "XML Schema Part 2: Datatypes Second Edition", started at "2.5.2 Primitive vs. derived datatypes", ended before "5 Conformance"
分享到:
相关推荐
1. **XML验证**:XMLTools可以自动验证XML文档是否符合其指定的DTD(文档类型定义)或XSD(XML Schema定义)。这有助于确保文档的结构正确无误,遵循预设的规则。 2. **XML格式化**:此插件能够将杂乱无章的XML代码...
**JAXB(Java Architecture for XML Binding)** 是Java平台中用于处理XML的一种强大的工具,它提供了将XML文档与Java对象之间的映射,从而方便XML数据的解析和生成。通过JAXB,开发者可以轻松地实现XML数据到Java...
- SAX(Simple API for XML)是一种事件驱动的XML解析器,适用于处理大型XML文件,因为它不需要一次性加载整个文档到内存。 3. 留言系统设计: - 在本方案中,留言和回复可能被组织成XML文档的元素结构,例如,每...
.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE) .setJdbcUrl("jdbc:h2:mem:my-own-db;DB_CLOSE_DELAY=1000") .setJobExecutorActivate(true) .buildProcessEngine(); ``` 这里...
- **SAX**(Simple API for XML):一种基于事件的解析模型。 - **DOM**(Document Object Model):一种基于树结构的解析模型。 - **开放式标准**: - **制定者**:XML是由W3C(World Wide Web Consortium,...
All you need to do is create an XML file that conforms to the schema above, then bundle that XML file with your JAR. Some notes on where you put that file in the JAR: it cannot go in the default ...
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet-name>action ...
Axis1.6版本是该框架的一个稳定版本,包含了对SOAP、WSDL和XML Schema等Web服务标准的良好支持。这个压缩包文件包含了一系列与Axis1.6相关的JAR文件和其他文档,以下是其中每个文件的具体介绍: 1. **release-notes...
8. **模式(Schemas)**:使用JSON Schema或XML Schema定义数据结构,确保输入和输出的数据格式正确。 **"raml-example-master"目录结构** 在解压后的"raml-example-master"文件夹中,我们可能会找到以下内容: 1...
- 这个库是非验证的解析器,意味着它不会检查 XML 是否符合其 DTD(文档类型定义)或 XML Schema。 - Expat 通过事件驱动的 API 工作,当解析到特定的 XML 元素时(如开始标签、结束标签、字符数据等),会触发预...
- **使用 XML Schema 生成模型**: EMF 支持从 XML Schema 定义(XSD)文件生成 EMF 模型。这种方法特别适用于那些已经定义了 XML 格式的数据结构的应用程序。 #### 5. JET 教程 **JET Tutorial Part 1 & 2** 部分...
它可能包括XML Schema定义,用于验证XML文件是否符合特定的结构和语义要求。 使用这样的库,开发者可以更方便地处理和验证与地理空间信息相关的数据,确保其符合欧盟的法规标准,从而促进跨组织、跨国的数据交换。...
此外,JXBeans 还支持 XML Schema,可以确保数据的正确性和一致性。 ### 3. 业务流程建模 JXBeans 提供了一套机制,使得业务流程可以被表示为 JavaBean 对象。这样,开发者可以通过操作这些对象来定义、执行和管理...
4. **nhibernate-mapping.xsd和nhibernate-configuration.xsd**:这两个XML Schema定义文件定义了NHibernate的映射文件和配置文件的结构。nhibernate-mapping.xsd用于实体类到数据库表的映射配置,包括属性映射、...
PEP 526: Syntax for variable annotations PEP 515: Underscores in Numeric Literals PEP 525: Asynchronous Generators PEP 530: Asynchronous Comprehensions PEP 487: Simpler customization of class ...
7. **ehcache.xsd**:XML Schema Definition文件,定义了ehcache.xml文件的结构和元素,用于验证配置文件的语法正确性。 8. **ehcache-1.5.0-beta2-javadoc.zip**:包含了Ehcache API的Java文档,有助于开发者理解...
1. **什么是序列化与反序列化**:序列化是将数据结构转换为可持久化或可传输的格式,如JSON、XML或二进制格式;反序列化则是相反的过程,将这些格式的数据恢复为原来的对象。在分布式系统、网络通信和持久化存储等...