首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在XML中定义位的范围

如何在XML中定义位的范围
EN

Stack Overflow用户
提问于 2013-01-04 17:15:17
回答 1查看 818关注 0票数 0

我想在XML中使用一个引用一个字节的4位的数据类型,其他4位用于不同的目的。与前4位一样,位0..3用于表示差错码,位4、5、6和位7用于一些其它任务。如何在XML中实现这一点。

代码语言:javascript
运行
复制
<DataItem DataType="Unsigned8" Length="1" TextId="T_ErrorCode" UseAsBits="true">
  <BitDataItem BitOffset="0" TextId="T_4bit_errorcode" />    ---> Line 125

我可以使用:

代码语言:javascript
运行
复制
 <...  BitOffset="0..3" TextId="T\_4bit\_errorcode" />

这将显示以下错误:

编辑:

使用MSXML 4.0:

行消息125将'0..3‘解析为unsignedByte数据类型时出错。属性'BitOffset‘根据其数据类型具有无效值。

使用Xerces:

行消息125值'0..3‘与正则表达式方面'+-0-9+’不匹配129遇到多个小数点

我正在根据模式进行验证,但我不确定如何找到它。我是XML的新手。我只想知道如何表示位的范围。是否有任何位范围的数据类型,或者我必须创建一个新的用户定义类型。

XML的初始行包含:

代码语言:javascript
运行
复制
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"

编辑2:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="GSDML-Stylesheet-HTML-V2.2.xsl" type="text/xsl"?>
<ISO15745Profile xmlns="http://www.profibus.com/GSDML/2003/11/DeviceProfile" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.profibus.com/GSDML/2003/11/DeviceProfile  ..\XSD\GSDML-DeviceProfile-v2.2.xsd">

<ProfileHeader>

我希望我添加新数据类型的模式文件是用schemalocation ?引用的。

你能告诉我如何将字符串表示为位吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-04 20:24:54

如果您总是要引用4位(不小于4位),为什么不使用整数值来表示范围的第一位呢?

代码语言:javascript
运行
复制
0 -> 0..3
1 -> 1..4
2 -> 2..5
3 -> 3..6
4 -> 4..7

当然不能在数据类型为unsignedByte的属性中使用值"0..3“,因为它根本不是数字值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14154187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档