【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

XSD、Schematron 与现实世界

  • 2008-04-16
  • 本文字数:1380 字

    阅读完需:约 5 分钟

多部 XML、XSL、SVG 以及 XQuery书籍的作者Kurt Cagle,就XSD 和Schematron 在模式模型语言 Schema Modeling Language SML )中的联姻,发表了关于 XML 和模型的博文。作为示范,他提供了一个 SML 模式的例子,这个例子涉及当前日期的处理(合同在给定的时间范围内有效)以及一个货币动态列表(其位于一个外部文档中)。毫无疑问,SML 使模式编辑器能够将动态值约束作为模式的一部分表达,另一种方式是将其留给应用程序逻辑去处理。然而,XSD 应该被视为是一种模型语言吗?

XSD 的主要目标是“定义和描述一类XML 文档”,并且不要忘记XML 中的“M”代表的是标记 markup)而不是模型(modeling)。这个中庸的处理方式可能是它成功的秘诀之一:忽略所有那些观众可能有异议的东西,只为多数意见提供一个稳定的解决方案。在第一个十年里,这一做法使得 XML 和 XSD 向全面互操作目标迈出了巨大一步,虽然这种互操作性在目前被认为是理所应当的。

随着 Schematron 进一步增强 XSD,当今对 XSD 敏感的安装库表现如何呢?它们很有可能会简单地忽略这些附加项目,就像它在著名的 annotation/appinfo 元素(支持非破坏性迁移的)中的聪明表现一样。

那么有谁会谈论 SML?SML 1.0 大约一年以前被一个令人尊敬的大企业联盟(包括了 BEA,CA,Cisco,EMC,HP,IBM,Intel,Microsoft 和 Sun 等公司)提交给了 W3C ,目前已变成 1.1 版工作草案,没有做任何大改变,看起来它相当稳定。

随着 XSD 1.1 即将到来的升级,SML 会如何应对?虽然 SML 工作组与 XML 模式工作组一起都由 W3C XML 活动组主管,但 SML 涉及到 XML 模式第一部分:结构第二版(2004),其中甚至没提及 XSD 1.1 草案 2007-08 。XSD 1.1 试图解决“XML 语言版本”以及“支持同现限制(co-occurrence constraints),它使一个属性或元素的出现依赖于其他元素或属性的出现,它们所允许的值依赖于其他元素或属性的值”的问题。

最后,这其中有什么竞争机制吗?Web 服务模型语言(Web Service Modeling Language, WSML ) —— 至少在名字上很相似 —— 属于已提交的四个意见书中的一个,并最终促成了另一个 W3C 建议:2007 年的 WSDL 和 XML 模式-- SAWSDL 的语义注解。SAWSDL 已被设计支持语义服务互操作性,它大体上打开了 XSD 和 WSDL 通向强大的基于本体建模能力的语义网的大门。

怎样才能把这三个分支汇集到一起?在先前关于 XML 会走向何方的讨论中,Kurt 自己强调了语义相对于其它趋势的地位:

如果我是一个刚进入 IT 领域的 IT 专业大学毕业生,我会去考察语义系统和知识管理,将其作为热点领域并成为我的起点。

为什么只给年轻一代传递这个?虽然 SML/Schematron 方式可能会是对 XSD 约束表现力的一个合情合理的增强,但仅仅增加一个“为模式角落准备的鸡毛掸子”(Rick Jelliffe 语)并不能使一个服务模型语言(Service Modeling Language)值得贴上一个如此有挑战意味的标签。当然一个模式是一个模型的一种,但是一个模型远远不仅仅是一个模式(即使是一个带有蜘蛛网的角落)。什么是建模语言?Kurt 从一个应用开发商的角度再次提供了关键的要求:

在你写下每一行代码之前,你应该对你要在那行代码中所抽象的现实世界的一个片段有合理、深入地理解。

一个完整的模型不仅仅关于结构和约束;它需要与描述真实世界相关方面的概念联系起来。而且这正是语义需要引进的。

查看英文原文 XSD, Schematron, and the Real World

2008-04-16 10:101073
用户头像

发布了 29 篇内容, 共 35716 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

【web 开发】PHP 特殊的对象引用 "$this"(62)

迷彩

php 面向对象 this指针 三周年连更

2023-05-03:给你一棵 二叉树 的根节点 root ,树中有 n 个节点 每个节点都可以被分配一个从 1 到 n 且互不相同的值 另给你一个长度为 m 的数组 queries 你必须在树上执行

福大大架构师每日一题

Go 算法 福大大

【Python实战】Python采集热搜数据

BROKEN

三周年连更

查询最新汽车新闻资讯

DS小龙哥

三周年连更

appuploader 入门使用

雪奈椰子

一文了解 Zebec Labs 投资的 Coral Finance,空投计划或在不久推出

股市老人

新手如何学习挖漏洞?看这篇就够了【网络安全】

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

云原生底座之上,这些企业领跑行业的秘密

阿里巴巴云原生

阿里云 容器 微服务 云原生

MATLAB实现航天相关的仿真

袁袁袁袁满

三周年连更

史上最强升级!音乐制作软件Logic Pro中文特别版

Rose

Logic Pro Mac音乐软件下载 Logic Pro破解版

“双智天花板”闪耀鹏城,问界M5智驾版深圳首场尊享品鉴会成功举办

Geek_2d6073

针对容器层的五种攻击手段

穿过生命散发芬芳

容器安全 三周年连更

与伙伴同行,Serverless 让创新触手可及

阿里巴巴云原生

阿里云 Serverless 云原生

xmind怎么导出为pdf?Xmind最全入门教程

Rose

Xmind 2022 XMind下载 思维导图软件

如何解决Paragon NTFS for Mac安装分卷失败?

Rose

Paragon NTFS ntfs 安装分卷失败

AI 作画火了,如何用 Serverless 函数计算部署 Stable Diffusion?

阿里巴巴云原生

阿里云 Serverless 云原生 AIGC

KubeVela 稳定性及可扩展性评估

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

Java面试题1000+附答案大全(合适各级Java开发人员)

架构师之道

Java 面试

Mac音乐制作软件推荐:Ableton Live 11 Suite中文版「win/Mac」

Rose

Ableton Live 11破解版 Ableton Live 11中文版 苹果软件下载

硬核Prompt赏析:与Auto-GPT的“契约”

无人之路

ChatGPT Prompt

阿里巴巴爆款“Spring Cloud Alibaba 全彩笔记”正式发布

采菊东篱下

微服务

公开下载 | 300页《Java面试宝典》,收藏近万,多位翰林院成员推荐

Java你猿哥

Java MySQL spring 面试 ssm

一文了解获得 Zebec Labs 投资的 Coral Finance,空投计划或在不久推出

EOSdreamer111

Mac M1 安装SD不折腾版本

IT蜗壳-Tango

三周年连更

Django操作异步任务

乌龟哥哥

三周年连更

Flink应用框架层

阿泽🧸

flink 三周年连更

习惯了和AI聊天,感觉我更加社恐了......

FN0

人工智能 AI AIGC

汽油价格变动实时短信通知

DS小龙哥

三周年连更

The Foundry Modo 16 16.1v3激活版 专业3D建模软件

Rose

3d建模 The Foundry Modo

一文看懂:StopWatch 源码解读

后台技术汇

三周年连更

C++智能指针和内存管理:使用指南和技巧

小万哥

c++ 后端 开发 内存管理 智能指针

XSD、Schematron与现实世界_SOA_Thomas Bandholtz_InfoQ精选文章