以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DTD/XML Schema 』 (http://bbs.xml.org.cn/list.asp?boardid=23) ---- 请斑竹进来帮小弟个忙,关于XML Schema (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=20457) |
-- 作者:NewBieInXML -- 发布时间:7/17/2005 3:49:00 PM -- 请斑竹进来帮小弟个忙,关于XML Schema 请将以下STEP文件转换成XML Schema,就靠这个毕业了,,救命啊,斑竹大哥, ![]() ![]() 头部段 ISO-10303-21; |
-- 作者:NewBieInXML -- 发布时间:7/17/2005 3:53:00 PM -- 数据段 DATA; #1 = EDGE_LOOP ( 'NONE', ( #58, #62, #65, #68 ) ) ; #2 = ORIENTED_EDGE ( 'NONE', *, *, #3, .F. ) ; #3 = EDGE_CURVE ( 'NONE', #13, #5, #558, .T. ) ; #4 = ADVANCED_FACE ( 'NONE', ( #554 ), #553, .F. ) ; #5 = VERTEX_POINT ( 'NONE', #548 ) ; #6 = EDGE_CURVE ( 'NONE', #8, #5, #611, .T. ) ; #7 = ORIENTED_EDGE ( 'NONE', *, *, #6, .T. ) ; #8 = VERTEX_POINT ( 'NONE', #607 ) ; #9 = EDGE_CURVE ( 'NONE', #11, #8, #606, .T. ) ; #10 = ORIENTED_EDGE ( 'NONE', *, *, #9, .T. ) ; #11 = VERTEX_POINT ( 'NONE', #602 ) ; #12 = EDGE_CURVE ( 'NONE', #13, #11, #601, .T. ) ; #13 = VERTEX_POINT ( 'NONE', #596 ) ; #14 = ORIENTED_EDGE ( 'NONE', *, *, #12, .T. ) ; #15 = ADVANCED_FACE ( 'NONE', ( #595 ), #592, .F. ) ; #16 = MANIFOLD_SOLID_BREP ( 'NONE', #559 ) ; #17 = EDGE_LOOP ( 'NONE', ( #14, #10, #7, #2 ) ) ; #18 = ORIENTED_EDGE ( 'NONE', *, *, #19, .F. ) ; #19 = EDGE_CURVE ( 'NONE', #45, #54, #593, .T. ) ; #20 = ORIENTED_EDGE ( 'NONE', *, *, #24, .F. ) ; #21 = ADVANCED_FACE ( 'NONE', ( #585 ), #583, .T. ) ; #22 = EDGE_LOOP ( 'NONE', ( #20, #57, #106, #112 ) ) ; #23 = VERTEX_POINT ( 'NONE', #579 ) ; #24 = EDGE_CURVE ( 'NONE', #25, #55, #646, .T. ) ; #25 = VERTEX_POINT ( 'NONE', #641 ) ; #26 = VERTEX_POINT ( 'NONE', #640 ) ; #27 = ADVANCED_FACE ( 'NONE', ( #639 ), #637, .F. ) ; #28 = EDGE_LOOP ( 'NONE', ( #29, #33, #36, #39 ) ) ; #29 = ORIENTED_EDGE ( 'NONE', *, *, #30, .T. ) ; #30 = EDGE_CURVE ( 'NONE', #31, #32, #633, .T. ) ; #31 = VERTEX_POINT ( 'NONE', #628 ) ; #32 = VERTEX_POINT ( 'NONE', #627 ) ; #33 = ORIENTED_EDGE ( 'NONE', *, *, #34, .T. ) ; #34 = EDGE_CURVE ( 'NONE', #32, #35, #626, .T. ) ; #35 = VERTEX_POINT ( 'NONE', #622 ) ; #36 = ORIENTED_EDGE ( 'NONE', *, *, #37, .T. ) ; #37 = EDGE_CURVE ( 'NONE', #35, #38, #621, .T. ) ; #38 = VERTEX_POINT ( 'NONE', #616 ) ; #39 = ORIENTED_EDGE ( 'NONE', *, *, #41, .F. ) ; #40 = EDGE_LOOP ( 'NONE', ( #43, #47, #50, #18 ) ) ; #41 = EDGE_CURVE ( 'NONE', #31, #38, #615, .T. ) ; #42 = ADVANCED_FACE ( 'NONE', ( #679 ), #677, .F. ) ; #43 = ORIENTED_EDGE ( 'NONE', *, *, #44, .T. ) ; #44 = EDGE_CURVE ( 'NONE', #45, #46, #672, .T. ) ; #45 = VERTEX_POINT ( 'NONE', #668 ) ; #46 = VERTEX_POINT ( 'NONE', #667 ) ; #47 = ORIENTED_EDGE ( 'NONE', *, *, #48, .T. ) ; #48 = EDGE_CURVE ( 'NONE', #46, #49, #666, .T. ) ; #49 = VERTEX_POINT ( 'NONE', #662 ) ; #50 = ORIENTED_EDGE ( 'NONE', *, *, #56, .T. ) ; #51 = ORIENTED_EDGE ( 'NONE', *, *, #149, .T. ) ; #52 = EDGE_CURVE ( 'NONE', #55, #53, #661, .T. ) ; #53 = VERTEX_POINT ( 'NONE', #657 ) ; #54 = VERTEX_POINT ( 'NONE', #656 ) ; #55 = VERTEX_POINT ( 'NONE', #655 ) ; #56 = EDGE_CURVE ( 'NONE', #49, #54, #653, .T. ) ; #57 = ORIENTED_EDGE ( 'NONE', *, *, #108, .T. ) ; #58 = ORIENTED_EDGE ( 'NONE', *, *, #59, .T. ) ; #59 = EDGE_CURVE ( 'NONE', #60, #61, #712, .T. ) ; #60 = VERTEX_POINT ( 'NONE', #707 ) ; #61 = VERTEX_POINT ( 'NONE', #706 ) ; #62 = ORIENTED_EDGE ( 'NONE', *, *, #63, .T. ) ; #63 = EDGE_CURVE ( 'NONE', #61, #64, #705, .T. ) ; #64 = VERTEX_POINT ( 'NONE', #701 ) ; #65 = ORIENTED_EDGE ( 'NONE', *, *, #66, .T. ) ; #66 = EDGE_CURVE ( 'NONE', #64, #67, #700, .T. ) ; #67 = VERTEX_POINT ( 'NONE', #695 ) ; #68 = ORIENTED_EDGE ( 'NONE', *, *, #69, .F. ) ; #69 = EDGE_CURVE ( 'NONE', #60, #67, #694, .T. ) ; #70 = EDGE_CURVE ( 'NONE', #80, #77, #690, .T. ) ; #71 = ADVANCED_FACE ( 'NONE', ( #686 ), #683, .T. ) ; #72 = ORIENTED_EDGE ( 'NONE', *, *, #88, .T. ) ; #73 = ORIENTED_EDGE ( 'NONE', *, *, #74, .T. ) ; #74 = EDGE_CURVE ( 'NONE', #86, #79, #742, .T. ) ; #75 = EDGE_CURVE ( 'NONE', #25, #148, #738, .T. ) ; #76 = EDGE_LOOP ( 'NONE', ( #145, #152, #146, #155 ) ) ; #77 = VERTEX_POINT ( 'NONE', #734 ) ; #78 = EDGE_LOOP ( 'NONE', ( #72, #73, #120, #113 ) ) ; #79 = VERTEX_POINT ( 'NONE', #733 ) ; #80 = VERTEX_POINT ( 'NONE', #732 ) ; #81 = VERTEX_POINT ( 'NONE', #731 ) ; #82 = ORIENTED_EDGE ( 'NONE', *, *, #98, .T. ) ; #83 = VERTEX_POINT ( 'NONE', #730 ) ; #84 = ORIENTED_EDGE ( 'NONE', *, *, #85, .T. ) ; #85 = EDGE_CURVE ( 'NONE', #83, #86, #729, .T. ) ; #86 = VERTEX_POINT ( 'NONE', #725 ) ; #87 = ORIENTED_EDGE ( 'NONE', *, *, #88, .F. ) ; #88 = EDGE_CURVE ( 'NONE', #89, #86, #724, .T. ) ; #89 = VERTEX_POINT ( 'NONE', #719 ) ; #90 = ORIENTED_EDGE ( 'NONE', *, *, #91, .F. ) ; #91 = EDGE_CURVE ( 'NONE', #92, #89, #718, .T. ) ; #92 = VERTEX_POINT ( 'NONE', #713 ) ; #93 = VERTEX_POINT ( 'NONE', #714 ) ; #94 = ORIENTED_EDGE ( 'NONE', *, *, #95, .T. ) ; #95 = EDGE_CURVE ( 'NONE', #81, #83, #776, .T. ) ; #96 = ORIENTED_EDGE ( 'NONE', *, *, #97, .T. ) ; #97 = EDGE_CURVE ( 'NONE', #92, #93, #770, .T. ) ; #98 = EDGE_CURVE ( 'NONE', #53, #81, #777, .T. ) ; #99 = EDGE_CURVE ( 'NONE', #55, #105, #786, .T. ) ; #100 = ORIENTED_EDGE ( 'NONE', *, *, #24, .T. ) ; ENDSEC; END-ISO-10303-21; |
-- 作者:NewBieInXML -- 发布时间:7/17/2005 3:55:00 PM -- 不稀一切代价,要是谁能帮我弄出来,一定重谢, |
-- 作者:fengzhiyi -- 发布时间:7/18/2005 9:02:00 AM -- 我也不太清楚STEP文件,不过我从你的文件中感觉应该是将ISO-10303-21设为复杂数据类型,包括HEADER,DATA;HEADER也是复杂数据类型,包括FILE_DESCRIPTION 、FILE_NAME、FILE_SCHEMA 三个元素,DATA应为包括#1。。。#100的100个元素的复杂类型;其他的要根据元素的具体意思定义了。 |
-- 作者:NewBieInXML -- 发布时间:7/18/2005 2:01:00 PM -- 谢谢楼上的,我现在都不知道怎么写才好 |
-- 作者:maggielee -- 发布时间:7/20/2005 3:16:00 PM -- 问斑主,你用过dita 吗 或者你知道有谁再用dita ? 我朋友这里dita 的负责人想了解一下dita在中国的用户群,所以想请你交流一下.谢谢.我的MSN:lee_82@hotmail.com |
-- 作者:maggielee -- 发布时间:7/20/2005 3:18:00 PM -- 斑主,看到贴请速回.谢谢了. |
-- 作者:NewBieInXML -- 发布时间:7/26/2005 6:34:00 PM -- 没听过,不好意思! |
-- 作者:fengzhiyi -- 发布时间:7/27/2005 11:04:00 AM -- 看回了这么多贴,以为问题解决了,不好意思,我上贴已经把大框架阐述了,其实我感觉这个schema不难,你只要看一看schema的(复杂、简单)类型定义及结构,了解一下step文件的内容,很容易写,不要想得太复杂,更不要知难而退阿,深入进去,你就知道乐趣了。要不你给一点step文件的内容给我,我们共同讨论。我的QQ:45887890,几乎天天在线。 |
-- 作者:再见理想 -- 发布时间:8/4/2005 8:43:00 PM -- step是什么文件类型呢 不过将数据抽象化然后用XML数据类型描述我觉得可以 探讨探讨 我是小菜鸟 |
-- 作者:NewBieInXML -- 发布时间:10/19/2005 2:19:00 PM -- 楼上的你有联系方式吗?一起讨论一下啊~ |
-- 作者:studyism -- 发布时间:10/23/2005 6:46:00 PM -- 我也挺感兴趣 |
-- 作者:xij -- 发布时间:11/30/2005 10:24:00 PM -- STEP p21 文件不是凭空产生的,它后面本身就有了一个EXPRESS模型。基于EXPRESS模型是很容易构建一个XML SCHMA的。 如果楼主一定要直接从STEP p21 文件来生成XML SCHMA,那么就先从p21 文件出发来建一个EXPRESS模型(在工程中这种情况是不可能有的)。从本质上说,STEP p21 文件和XML SCHMA是两个不同层次的东西,STEP p21 讲的是Instance data, XML SCHMA是一个conceptual model(不太准确)。 其实STEP P28就是讲XML的表示方法。 对于STEP这么重要一个标准,国内的研究还是这么少这么粗浅,实在让人遗憾。相关的有些信息可见: http://927802.k53.opensrs.cn/smfbb/index.php?PHPSESSID=acc6abfd10bf7499053d8c0f8715c756&topic=50.0 |
-- 作者:98900969r -- 发布时间:11/30/2005 10:51:00 PM -- 楼上的老兄,STEP很重要吗?我怎么觉得它有点中看不中用的感觉。你说的那个EXPRESS,听起来是好,可惜那些个语义建模的能力根本没有实现。整个STEP系列也大得可以了,但是从应用状况上里来讲,只怕还远远不及XML出来之前的SGML。看样子老兄在国外,不知在哪处呢,你能说说那边step的应用状况吗?偶说话比较随便,请别介意。
[此贴子已经被作者于2005-12-1 2:45:17编辑过]
|
-- 作者:xij -- 发布时间:12/1/2005 6:06:00 PM -- STEP 和XML是两个互补的标准,并不能说一个可以替代另一个。 当然,STEP的定位在产品数据交换,这就决定它不可能成为一种普适的主流技术。而且楼上说得对,STEP太过庞大和复杂,要真正理解它很难,实施的困难大。但是,这些都不能否定STEP的重要性和有效性,我不想列举它的好处,但有个事实是欧美的好几个国防部指定STEP为数据交换标准,而航空航天中也应该是用STEP作为主要标准。 现在XML, UML都很火,拿EXPRESS和它们比,一个明显的优点是它表达CONSTRAINTS的能力。有兴趣的可以找它的Manual看。 |
-- 作者:98900969r -- 发布时间:12/1/2005 8:19:00 PM -- 谢谢参与讨论! 不过据我的了解,EXPRESS表达contraint的能力停留于描述,并没有哪个系统(或者工具,或者已经实现的形式语言)可以检验那些约束。这就等于是用自然语言描述约束一样。 从研究意义上讲,EXPRESS所追求的丰富语义能力肯定是需要的。但是这并不等于说EXPRESS就重要,只能说语义更丰富的形式语言很重要。一种形式语言,关键是它所能表达的形式语义,非形式语义再强也强不过自然语言。我个人认为这就是EXPRESS的弱点,它试图通过标准化来代替形式语义,这就像要通过穿制服来统一人的思想一样,统一的只能是表面,骨子里是不同的。UML有同样的问题,语义很丰富,但只能给人用,机器不懂UML。 美国确实技术很强。我所搞的专业跟CA(X)一样存在数据交换困难,这方面美国人也搞出了一堆标准,不乏国际上很受关注的标准。结果却没有一个大家愿意用的。我是想说明,一个标准不是说它是美国的或者ISO的就一定重要,一定好。标准局出面做的标准往往不行,标准局似乎就不应该出面做标准,只要从已有的技术里面选就好了。STEP也搞了20多年了,至今打不开局面,应该是有根本性的问题。 个人意见,欢迎批评指正! |
-- 作者:xij -- 发布时间:12/1/2005 10:16:00 PM -- 标准的好坏我想只有实践可以证明,没有实施经验是没法评价的。 至于EXPRESS, 我们一般说它Semi-formal, 就是说它可以准确清晰地建模, 但本身不是formal language, 没法进行数学验证。这有好处也有坏处。简单说,好处是语言易于理解,坏处是没法进行数学意义上的证明。至于说对EXPRESS约束的检验,当前的工具是可以做的,如EDM; 我原来所在的研究组可以在EXPRESS上产生Java代码,对约束也可以检查。困难的是对约束之间的一致性检验。 至于楼主说的标准局似乎就不应该出面做标准,只是意气之话吧。我不与争辩。 |
-- 作者:98900969r -- 发布时间:12/1/2005 11:01:00 PM -- 你介绍的EXPRESS方面的研究比较难得一见。以前我试图用STEP和EXPRESS技术来做GIS数据交换,找来找去都找不到可用的工具。而对我的工作最有用mapping language, EXPRESS就有几个,却没有哪个实现了的,或者只实现trivial的功能,令人沮丧。 我仍坚持一个技术标准要可用,要解决问题。不过真是很高兴碰到你可以讨论这些东西。 |
-- 作者:xij -- 发布时间:12/2/2005 12:33:00 AM -- 国内在这方面的研究据我所知还很少,主要成果集中在欧美,而且也有了成熟的产品 (估计国内找不到盗版)。至于mapping language, EXPRESS-X很好用啊。我认为STEP应该很合适做GIS数据交换。我自己做了几个STEP的实施项目,对这标准挺有信心。 其实EXPRESS也不只是用在STEP中,石油和制造的标准中好多也用它来建模型。 也挺高兴和你讨论, 大家多交流。 |
-- 作者:98900969r -- 发布时间:12/2/2005 1:35:00 AM -- 好啊,看来碰到STEP专家了。我给你留个信,希望不吝赐教!如果不方便直接联系也没关系,就在这里讨论也很好。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
109.375ms |