XML で 1 バイトの 4 ビットを参照するデータ型を使用したいのですが、他の 4 ビットは別の目的に使用されます。最初の 4 ビット 0..3 はエラー コードを表すために使用され、ビット 4、5、6、およびビット 7 は他のタスクのために使用されます。XML でこれを実現する方法。
<DataItem DataType="Unsigned8" Length="1" TextId="T_ErrorCode" UseAsBits="true">
<BitDataItem BitOffset="0" TextId="T_4bit_errorcode" /> ---> Line 125
使用できますか:
<... BitOffset="0..3" TextId="T_4bit_errorcode" />
これは、以下のエラーを示しています。
編集:
MSXML 4.0 の場合:
行メッセージ 125 '0..3' を unsignedByte データ型として解析中にエラーが発生しました。属性: 'BitOffset' には、そのデータ型によると無効な値があります。
Xerces の場合:
ライン メッセージ 125 値 '0..3' は正規表現ファセット '[+-]?[0-9]+' と一致しません 129 複数の小数点が検出されました
スキーマに対して検証していますが、それを見つける方法がわかりません。私はXMLが初めてです。ビットの範囲を表す方法を知りたいだけです。ビット範囲のデータ型はありますか、または新しいユーザー定義型を作成する必要があります。
XML の最初の行には次のものが含まれます。
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
編集2:
<?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 で参照されることを願っています。
文字列をビットとして表現する方法を教えてください。