最近又需要用到xml.自然的,校验是用schema了.
而常用的XML数据通常会有类似于数据库的ID,一种需要是唯一的数据类型.
那么我就不管那是数字的还是字符的了..
如何在schema里面定义?
下面有一个xml
<?xml version="1.0"?>
<templates
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="TagTemplate.xsd">
<template >
<templateStr>
<![CDATA[
]]>
</templateStr>
</template>
<template >
<templateStr>
<![CDATA[
]]>
</templateStr>
</template>
</templates>
很简单的一个.
我需要template元素的name属性是唯一的...
OK.
如何定义?
那么我得先假设...你至少知道一点...相关的知识,比如schema的定义.
<!-- Element[templates] -->
<xsd:element type="Templates">
<xsd:unique >
<xsd:selector xpath="template" />
<xsd:field xpath="@name" />
</xsd:unique >
</xsd:element>
以上就是定义了唯一的schema代码了..
呃...让我们来看一下吧...
注意...这个XML供包含三种元素.
templates元素是根元素.
template是根元素下的子元素.
templateStr是template元素下的子元素.
注意了.
<xsd:element color=red>templates" type="Templates">
这里可是定义在templates,根元素里面的哦.
为什么?
因为我是要在根元素下去找template元素的name属性...
那么符合以下的:
<xsd:selector xpath="template" />
<xsd:field xpath="@name" />
而很多初学者呢,就总是误认为是定义在template元素下...
另外...IE好象不提供数据校验.你可能需要有一个XMLSPY或其他提供XML校验的工具...
OK.没了.
分享到:
相关推荐
在MySQL数据库中,`key`、`primary key`、`unique key`和`index`都是与数据表结构和查询性能紧密相关的概念。了解它们的区别对于优化数据库操作至关重要。 1. **Key** - Key是一种索引约束,它限制了表中特定列的...
4. 关于 KEY 和 INDEX: - 在 MySQL 中,KEY 和 INDEX 是同义词,KEY 通常用于创建索引,尤其是在创建表时。 5. 索引的优点与缺点: - 优点:显著提高查询速度,使数据检索更加高效。 - 缺点:索引需要额外的...
UNIQUE KEY之删除约束
UNIQUE KEY之在创建表时设置约束
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。 PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束。 请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。 CREATE TABLE 时...
本文将详细介绍如何修改 db_unique_name 参数,以及在修改过程中可能遇到的问题和解决方法。 1. 查看 db_unique_name 参数 首先,我们需要查看当前的 db_unique_name 参数的值,可以使用以下 SQL 语句: SQL> ...
MySQL中的唯一键(Unique Key)是一种特殊的索引,它确保表中的每一行数据都有唯一的标识。在本篇文章中,我们将探讨MySQL唯一键在查询中的使用及其相关问题。 首先,我们来看一个创建表`employees`的例子,其中...
《C++智能指针——unique_ptr智能指针详解...其对所有权的严格控制和自动释放内存的能力使得代码更加安全,避免了手动管理内存可能导致的错误。在C++编程中,合理使用`unique_ptr`可以显著提高代码的健壮性和可维护性。
`unique-by-master` 文件可能包含了这个库的源代码,你可以通过阅读和研究它来深入了解其内部机制,甚至可以根据自己的需求进行定制或扩展。同时,由于这是一个开源库,你可以在社区中寻找相关的使用示例和问题解答...
- `UNIQUE`: 外键列的值必须唯一,不允许重复。 - `NOT NULL`: 外键列的值不能为空。 - `CASCADE`: 当主键表中的记录被删除或更新时,自动更新或删除外键表中的对应记录。 - `SET NULL`: 当主键表中的记录被删除...
在IT行业中,“唯一”经常与数据的唯一标识符(Unique Identifier,简称UID)相关联,例如在数据库设计中,每个记录通常都有一个唯一的主键,以确保数据的准确性和一致性。这种机制对于数据跟踪和管理至关重要,尤其...
$table->string('key')->unique(); $table->timestamps(); $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); }); } public function down() { Schema::dropIfExists('...
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。 PRIMARY KEY 拥有自动定义的 UNIQUE 约束。 请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。 下面的 SQL 在 ...
通过这种方式,laravel-unique-slug包简化了在Laravel项目中创建和管理唯一slug的过程,让开发者可以专注于业务逻辑,而不是重复的基础功能实现。这体现了Laravel框架的一个核心理念——开箱即用,让开发者更专注于...
但是,当我们运行这个示例时,React 会提示我们一个警告信息:Each child in a list should have a unique "key" prop。这是因为 React 需要使用 Key 属性来唯一标识列表中的每一个元素。 那么,为什么 Key 属性...
在压缩包`sindresorhus-unique-string-1dfc57c`中,包含了`unique-string`库的源码和其他相关文件,例如测试文件、README文档等。通过查看源码,开发者可以深入了解其内部实现,甚至可以根据自己的需求进行定制或...
在 C++ 中,有四种智能指针:auto_ptr、unique_ptr、shared_ptr 和 weak_ptr,每种智能指针都有其特点和使用场景。 一、auto_ptr auto_ptr 是 C++98 中引入的智能指针,它可以自动释放动态分配的内存。但是,auto_...