merged part of new changes in new schema, and changed genbuild code accordingly

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@643 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jwang36 2006-06-27 14:24:33 +00:00
parent 567df6937d
commit b1d9f2a3cb
3 changed files with 134 additions and 108 deletions

View File

@ -591,8 +591,7 @@ public class AutoGen {
// library class name. // library class name.
// //
for (int i = 0; i < libClassList.length; i++) { for (int i = 0; i < libClassList.length; i++) {
includerName = GlobalData.getLibClassIncluder(libClassList[i] includerName = GlobalData.getLibClassIncluder(getStringValue((XmlObject)libClassList[i]));
.getStringValue());
if (includerName != null) { if (includerName != null) {
str = CommonDefinition.include + " " + "<"; str = CommonDefinition.include + " " + "<";
str = str + includerName + ">\r\n"; str = str + includerName + ">\r\n";
@ -1095,14 +1094,14 @@ public class AutoGen {
if (ppiList != null) { if (ppiList != null) {
for (int i = 0; i < ppiList.length; i++) { for (int i = 0; i < ppiList.length; i++) {
isEqual = false; isEqual = false;
String ppiName = getStringValue((XmlObject)ppiList[i]);
for (int j = 0; j < this.mPpiList.size(); j++) { for (int j = 0; j < this.mPpiList.size(); j++) {
if (this.mPpiList.get(j).equalsIgnoreCase( if (this.mPpiList.get(j).equalsIgnoreCase(ppiName)) {
ppiList[i].getStringValue())) {
isEqual = true; isEqual = true;
} }
} }
if (!isEqual) { if (!isEqual) {
this.mPpiList.add(ppiList[i].getStringValue()); this.mPpiList.add(ppiName);
} }
} }
} }
@ -1112,14 +1111,14 @@ public class AutoGen {
if (ppiNotifyList != null) { if (ppiNotifyList != null) {
for (int i = 0; i < ppiNotifyList.length; i++) { for (int i = 0; i < ppiNotifyList.length; i++) {
isEqual = false; isEqual = false;
String ppiNotifyName = getStringValue((XmlObject)ppiNotifyList[i]);
for (int j = 0; j < this.mPpiList.size(); j++) { for (int j = 0; j < this.mPpiList.size(); j++) {
if (this.mPpiList.get(j).equalsIgnoreCase( if (this.mPpiList.get(j).equalsIgnoreCase(ppiNotifyName)) {
ppiNotifyList[i].getStringValue())) {
isEqual = true; isEqual = true;
} }
} }
if (!isEqual) { if (!isEqual) {
this.mPpiList.add(ppiNotifyList[i].getStringValue()); this.mPpiList.add(ppiNotifyName);
} }
} }
} }
@ -1159,14 +1158,14 @@ public class AutoGen {
if (protocolList != null) { if (protocolList != null) {
for (int i = 0; i < protocolList.length; i++) { for (int i = 0; i < protocolList.length; i++) {
isEqual = false; isEqual = false;
String protocolName = getStringValue((XmlObject)protocolList[i]);
for (int j = 0; j < this.mProtocolList.size(); j++) { for (int j = 0; j < this.mProtocolList.size(); j++) {
if (this.mProtocolList.get(j).equalsIgnoreCase( if (this.mProtocolList.get(j).equalsIgnoreCase(protocolName)) {
protocolList[i].getStringValue())) {
isEqual = true; isEqual = true;
} }
} }
if (!isEqual) { if (!isEqual) {
this.mProtocolList.add(protocolList[i].getStringValue()); this.mProtocolList.add(protocolName);
} }
} }
@ -1177,15 +1176,14 @@ public class AutoGen {
if (protocolNotifyList != null) { if (protocolNotifyList != null) {
for (int i = 0; i < protocolNotifyList.length; i++) { for (int i = 0; i < protocolNotifyList.length; i++) {
isEqual = false; isEqual = false;
String protocolNotifyName = getStringValue((XmlObject)protocolNotifyList[i]);
for (int j = 0; j < this.mProtocolList.size(); j++) { for (int j = 0; j < this.mProtocolList.size(); j++) {
if (this.mProtocolList.get(j).equalsIgnoreCase( if (this.mProtocolList.get(j).equalsIgnoreCase(protocolNotifyName)) {
protocolNotifyList[i].getStringValue())) {
isEqual = true; isEqual = true;
} }
} }
if (!isEqual) { if (!isEqual) {
this.mProtocolList.add(protocolNotifyList[i] this.mProtocolList.add(protocolNotifyName);
.getStringValue());
} }
} }
@ -1330,66 +1328,56 @@ public class AutoGen {
if (ppiList != null) { if (ppiList != null) {
for (index = 0; index < ppiList.length; index++) { for (index = 0; index < ppiList.length; index++) {
isEqual = false; isEqual = false;
String name = getStringValue((XmlObject)ppiList[index]);
for (int j = 0; j < this.mPpiList.size(); j++) { for (int j = 0; j < this.mPpiList.size(); j++) {
if (this.mPpiList.get(j).equalsIgnoreCase( if (this.mPpiList.get(j).equalsIgnoreCase(name)) {
ppiList[index].getStringValue())) {
isEqual = true; isEqual = true;
} }
} }
if (!isEqual) { if (!isEqual) {
this.mPpiList.add(ppiList[index] this.mPpiList.add(name);
.getStringValue());
} }
} }
} }
if (ppiNotifyList != null) { if (ppiNotifyList != null) {
for (index = 0; index < ppiNotifyList.length; index++) { for (index = 0; index < ppiNotifyList.length; index++) {
isEqual = false; isEqual = false;
String name = getStringValue((XmlObject)ppiNotifyList[index]);
for (int j = 0; j < this.mPpiList.size(); j++) { for (int j = 0; j < this.mPpiList.size(); j++) {
if (this.mPpiList.get(j).equalsIgnoreCase( if (this.mPpiList.get(j).equalsIgnoreCase(name)) {
ppiNotifyList[index]
.getStringValue())) {
isEqual = true; isEqual = true;
} }
} }
if (!isEqual) { if (!isEqual) {
this.mPpiList.add(ppiNotifyList[index] this.mPpiList.add(name);
.getStringValue());
} }
} }
} }
if (protocolList != null) { if (protocolList != null) {
for (index = 0; index < protocolList.length; index++) { for (index = 0; index < protocolList.length; index++) {
isEqual = false; isEqual = false;
String name = getStringValue((XmlObject)protocolList[index]);
for (int j = 0; j < this.mProtocolList.size(); j++) { for (int j = 0; j < this.mProtocolList.size(); j++) {
if (this.mProtocolList.get(j) if (this.mProtocolList.get(j).equalsIgnoreCase(name)) {
.equalsIgnoreCase(
protocolList[index]
.getStringValue())) {
isEqual = true; isEqual = true;
} }
} }
if (!isEqual) { if (!isEqual) {
this.mProtocolList.add(protocolList[index] this.mProtocolList.add(name);
.getStringValue());
} }
} }
} }
if (protocolNotifyList != null) { if (protocolNotifyList != null) {
for (index = 0; index < protocolNotifyList.length; index++) { for (index = 0; index < protocolNotifyList.length; index++) {
isEqual = false; isEqual = false;
String name = getStringValue((XmlObject)protocolNotifyList[index]);
for (int j = 0; j < this.mProtocolList.size(); j++) { for (int j = 0; j < this.mProtocolList.size(); j++) {
if (this.mProtocolList.get(j) if (this.mProtocolList.get(j).equalsIgnoreCase(name)) {
.equalsIgnoreCase(
protocolNotifyList[index]
.getStringValue())) {
isEqual = true; isEqual = true;
} }
} }
if (!isEqual) { if (!isEqual) {
this.mProtocolList this.mProtocolList.add(name);
.add(protocolNotifyList[index]
.getStringValue());
} }
} }
} }
@ -2015,4 +2003,7 @@ public class AutoGen {
} }
private String getStringValue(XmlObject xmlDoc) {
return xmlDoc.getDomNode().getFirstChild().getNodeValue();
}
} }

View File

@ -20,7 +20,6 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.apache.xmlbeans.XmlObject; import org.apache.xmlbeans.XmlObject;
import org.tianocore.LibraryClassDocument.LibraryClass; import org.tianocore.LibraryClassDocument.LibraryClass;
@ -81,7 +80,8 @@ public class AutogenLibOrder {
if (libClassConsmList != null) { if (libClassConsmList != null) {
String[] classStr = new String[libClassConsmList.length]; String[] classStr = new String[libClassConsmList.length];
for (int k = 0; k < libClassConsmList.length; k++) { for (int k = 0; k < libClassConsmList.length; k++) {
classStr[k] = libClassConsmList[k].getStringValue(); //classStr[k] = libClassConsmList[k].getStringValue();
classStr[k] = getStringValue((XmlObject)libClassConsmList[k]);
} }
if (this.libInstanceMap.containsKey(libInstance[0])) { if (this.libInstanceMap.containsKey(libInstance[0])) {
throw new Exception( throw new Exception(
@ -99,17 +99,17 @@ public class AutogenLibOrder {
.getLibraryClassArray(CommonDefinition.AlwaysProduced); .getLibraryClassArray(CommonDefinition.AlwaysProduced);
if (libClassDeclList != null) { if (libClassDeclList != null) {
for (int j = 0; j < libClassDeclList.length; j++) { for (int j = 0; j < libClassDeclList.length; j++) {
if (this.libClassMap.containsKey(libClassDeclList[j] //if (this.libClassMap.containsKey(libClassDeclList[j]
.getStringValue())) { // .getStringValue())) {
System.out.println(libClassDeclList[j].getStringValue() String libClassName = getStringValue((XmlObject)libClassDeclList[j]);
if (this.libClassMap.containsKey(libClassName)) {
System.out.println(libClassName
+ " class is already implement by " + " class is already implement by "
+ this.libClassMap.get(libClassDeclList[j] + this.libClassMap.get(libClassName));
.getStringValue()));
throw new Exception(libClassDeclList throw new Exception(libClassDeclList
+ " is already have library instance!"); + " is already have library instance!");
} else { } else {
this.libClassMap.put(libClassDeclList[j] this.libClassMap.put(libClassName, libInstance[0]);
.getStringValue(), libInstance[0]);
} }
} }
} }
@ -286,6 +286,10 @@ public class AutogenLibOrder {
} }
return false; return false;
} }
private String getStringValue(XmlObject xmlDoc) {
return xmlDoc.getDomNode().getFirstChild().getNodeValue();
}
} }
/** /**

View File

@ -76,6 +76,9 @@
<xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="BootMode"> <xs:element name="BootMode">
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="0">
<xs:element name="HelpText" type="Paragraph"/>
</xs:sequence>
<xs:attributeGroup ref="BootModeAttributes"/> <xs:attributeGroup ref="BootModeAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@ -213,12 +216,12 @@
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="DataHubRecord"> <xs:element name="DataHubRecord">
<xs:complexType> <xs:complexType mixed="true">
<xs:simpleContent> <xs:sequence>
<xs:extension base="C_NameType"> <xs:element minOccurs="0" maxOccurs="1" name="DataHubCName" type="C_NameType"/>
<xs:attributeGroup ref="DataHubAttributes"/> <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:extension> </xs:sequence>
</xs:simpleContent> <xs:attributeGroup ref="DataHubAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- Remove Arch and use Arch Attribute for DataHubRecord instead. --> <!-- Remove Arch and use Arch Attribute for DataHubRecord instead. -->
@ -282,7 +285,16 @@
<xs:element minOccurs="0" maxOccurs="1" name="CreateEvents"> <xs:element minOccurs="0" maxOccurs="1" name="CreateEvents">
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="Event"> <xs:element minOccurs="0" maxOccurs="unbounded" name="EventTypes">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/>
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:sequence>
<xs:attributeGroup ref="EventAttributes"/>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="Event">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:choice> <xs:choice>
@ -328,7 +340,16 @@
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="Event"> <xs:element minOccurs="0" maxOccurs="unbounded" name="EventTypes">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/>
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:sequence>
<xs:attributeGroup ref="EventAttributes"/>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="Event">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:choice> <xs:choice>
@ -589,19 +610,19 @@
<xs:element name="Guids"> <xs:element name="Guids">
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" name="GuidCName"> <xs:element minOccurs="0" maxOccurs="unbounded" name="GuidCNames">
<xs:annotation> <xs:annotation>
<xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation> <xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:simpleContent> <xs:sequence>
<xs:extension base="C_NameType"> <xs:element minOccurs="1" maxOccurs="1" name="GuidCName" type="C_NameType"/>
<xs:attributeGroup ref="GuidAttributes"/> <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:extension> </xs:sequence>
</xs:simpleContent> <xs:attributeGroup ref="GuidAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="GuidEntry"> <xs:element minOccurs="0" name="GuidEntry">
<xs:annotation> <xs:annotation>
<xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation> <xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation>
</xs:annotation> </xs:annotation>
@ -659,12 +680,12 @@
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="HiiPackage"> <xs:element name="HiiPackage">
<xs:complexType> <xs:complexType mixed="true">
<xs:simpleContent> <xs:sequence>
<xs:extension base="C_NameType"> <xs:element minOccurs="0" maxOccurs="1" name="HiiCName" type="C_NameType"/>
<xs:attributeGroup ref="HiiPackageAttributes"/> <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:extension> </xs:sequence>
</xs:simpleContent> <xs:attributeGroup ref="HiiPackageAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
@ -673,7 +694,16 @@
<xs:element name="Hobs"> <xs:element name="Hobs">
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element name="Hob"> <xs:element minOccurs="0" maxOccurs="unbounded" name="HobTypes">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="HobType" type="HobTypes"/>
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:sequence>
<xs:attributeGroup ref="HobAttributes"/>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="Hob">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
<xs:choice> <xs:choice>
@ -806,12 +836,12 @@
<xs:annotation> <xs:annotation>
<xs:documentation xml:lang="en">Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module.</xs:documentation> <xs:documentation xml:lang="en">Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType mixed="true">
<xs:simpleContent> <xs:sequence>
<xs:extension base="KeywordType"> <xs:element minOccurs="0" maxOccurs="1" name="Keyword" type="KeywordType"/>
<xs:attributeGroup ref="LibraryClassAttributes"/> <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:extension> </xs:sequence>
</xs:simpleContent> <xs:attributeGroup ref="LibraryClassAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- LAH This is LibraryClassDeclaration FINAL version --> <!-- LAH This is LibraryClassDeclaration FINAL version -->
@ -860,8 +890,8 @@
<xs:documentation xml:lang="en">This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes.</xs:documentation> <xs:documentation xml:lang="en">This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes.</xs:documentation>
</xs:annotation> </xs:annotation>
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:sequence>
<xs:element ref="LibraryClass"/> <xs:element ref="LibraryClass" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@ -1417,21 +1447,21 @@
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="1"> <xs:sequence minOccurs="1">
<xs:element minOccurs="0" maxOccurs="unbounded" name="Ppi"> <xs:element minOccurs="0" maxOccurs="unbounded" name="Ppi">
<xs:complexType> <xs:complexType mixed="true">
<xs:simpleContent> <xs:sequence>
<xs:extension base="C_NameType"> <xs:element minOccurs="0" maxOccurs="1" name="PpiCName" type="C_NameType"/>
<xs:attributeGroup ref="PpiAttributes"/> <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:extension> </xs:sequence>
</xs:simpleContent> <xs:attributeGroup ref="PpiAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="PpiNotify"> <xs:element minOccurs="0" maxOccurs="unbounded" name="PpiNotify">
<xs:complexType> <xs:complexType mixed="true">
<xs:simpleContent> <xs:sequence>
<xs:extension base="C_NameType"> <xs:element minOccurs="0" maxOccurs="1" name="PpiNotifyCName" type="C_NameType"/>
<xs:attributeGroup ref="PpiNotifyAttributes"/> <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:extension> </xs:sequence>
</xs:simpleContent> <xs:attributeGroup ref="PpiNotifyAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- DO NOT USE Arch element, use Arch Attribute in above instead. --> <!-- DO NOT USE Arch element, use Arch Attribute in above instead. -->
@ -1492,21 +1522,21 @@
<xs:complexType> <xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded"> <xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol"> <xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol">
<xs:complexType> <xs:complexType mixed="true">
<xs:simpleContent> <xs:sequence>
<xs:extension base="C_NameType"> <xs:element minOccurs="0" maxOccurs="1" name="ProtocolCName" type="C_NameType"/>
<xs:attributeGroup ref="ProtocolAttributes"/> <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:extension> </xs:sequence>
</xs:simpleContent> <xs:attributeGroup ref="ProtocolAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify"> <xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify">
<xs:complexType> <xs:complexType mixed="true">
<xs:simpleContent> <xs:sequence>
<xs:extension base="C_NameType"> <xs:element minOccurs="0" maxOccurs="1" name="ProtocolNotifyCName" type="C_NameType"/>
<xs:attributeGroup ref="ProtocolNotifyAttributes"/> <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:extension> </xs:sequence>
</xs:simpleContent> <xs:attributeGroup ref="ProtocolNotifyAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<!-- DO NOT USE! removing Arch element, use Arch attribute of Protocol or ProtocolNotify instead. --> <!-- DO NOT USE! removing Arch element, use Arch attribute of Protocol or ProtocolNotify instead. -->
@ -1643,15 +1673,15 @@
<xs:attributeGroup ref="SystemTableAttributes"/> <xs:attributeGroup ref="SystemTableAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="SystemTableCName"> <xs:element minOccurs="0" maxOccurs="unbounded" name="SystemTableCNames">
<xs:complexType> <xs:complexType>
<xs:simpleContent> <xs:sequence>
<xs:extension base="C_NameType"> <xs:element minOccurs="1" maxOccurs="1" name="SystemTableCName" type="C_NameType"/>
<xs:attributeGroup ref="SystemTableAttributes"/> <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
</xs:extension> </xs:sequence>
</xs:simpleContent> <xs:attributeGroup ref="SystemTableAttributes"/>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@ -1705,6 +1735,7 @@
<!-- Make GuidC_Name required --> <!-- Make GuidC_Name required -->
<xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="C_NameType"/> <xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="C_NameType"/>
</xs:choice> </xs:choice>
<xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>
<!-- DO NOT USE, removiing ByteOffset, Bit Offset and OffsetBitSize--> <!-- DO NOT USE, removiing ByteOffset, Bit Offset and OffsetBitSize-->
<xs:element minOccurs="0" maxOccurs="1" name="ByteOffset" type="HexWordDataType"> <xs:element minOccurs="0" maxOccurs="1" name="ByteOffset" type="HexWordDataType">
<xs:annotation> <xs:annotation>