]> git.proxmox.com Git - mirror_edk2.git/commitdiff
merged part of new changes in new schema, and changed genbuild code accordingly
authorjwang36 <jwang36@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 27 Jun 2006 14:24:33 +0000 (14:24 +0000)
committerjwang36 <jwang36@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 27 Jun 2006 14:24:33 +0000 (14:24 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@643 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java
Tools/Source/GenBuild/org/tianocore/build/autogen/AutogenLibOrder.java
Tools/XMLSchema/FrameworkDataElements.xsd

index 53f5fa908fcb005c2df47f18da3d619aa2b6abde..482698cbad4b903c65d2e1f94651014d28865b62 100644 (file)
@@ -591,8 +591,7 @@ public class AutoGen {
         // library class name.\r
         //\r
         for (int i = 0; i < libClassList.length; i++) {\r
-            includerName = GlobalData.getLibClassIncluder(libClassList[i]\r
-                    .getStringValue());\r
+            includerName = GlobalData.getLibClassIncluder(getStringValue((XmlObject)libClassList[i]));\r
             if (includerName != null) {\r
                 str = CommonDefinition.include + " " + "<";\r
                 str = str + includerName + ">\r\n";\r
@@ -1095,14 +1094,14 @@ public class AutoGen {
         if (ppiList != null) {\r
             for (int i = 0; i < ppiList.length; i++) {\r
                 isEqual = false;\r
+                String ppiName = getStringValue((XmlObject)ppiList[i]);\r
                 for (int j = 0; j < this.mPpiList.size(); j++) {\r
-                    if (this.mPpiList.get(j).equalsIgnoreCase(\r
-                            ppiList[i].getStringValue())) {\r
+                    if (this.mPpiList.get(j).equalsIgnoreCase(ppiName)) {\r
                         isEqual = true;\r
                     }\r
                 }\r
                 if (!isEqual) {\r
-                    this.mPpiList.add(ppiList[i].getStringValue());\r
+                    this.mPpiList.add(ppiName);\r
                 }\r
             }\r
         }\r
@@ -1112,14 +1111,14 @@ public class AutoGen {
         if (ppiNotifyList != null) {\r
             for (int i = 0; i < ppiNotifyList.length; i++) {\r
                 isEqual = false;\r
+                String ppiNotifyName = getStringValue((XmlObject)ppiNotifyList[i]);\r
                 for (int j = 0; j < this.mPpiList.size(); j++) {\r
-                    if (this.mPpiList.get(j).equalsIgnoreCase(\r
-                            ppiNotifyList[i].getStringValue())) {\r
+                    if (this.mPpiList.get(j).equalsIgnoreCase(ppiNotifyName)) {\r
                         isEqual = true;\r
                     }\r
                 }\r
                 if (!isEqual) {\r
-                    this.mPpiList.add(ppiNotifyList[i].getStringValue());\r
+                    this.mPpiList.add(ppiNotifyName);\r
                 }\r
             }\r
         }\r
@@ -1159,14 +1158,14 @@ public class AutoGen {
         if (protocolList != null) {\r
             for (int i = 0; i < protocolList.length; i++) {\r
                 isEqual = false;\r
+                String protocolName = getStringValue((XmlObject)protocolList[i]);\r
                 for (int j = 0; j < this.mProtocolList.size(); j++) {\r
-                    if (this.mProtocolList.get(j).equalsIgnoreCase(\r
-                            protocolList[i].getStringValue())) {\r
+                    if (this.mProtocolList.get(j).equalsIgnoreCase(protocolName)) {\r
                         isEqual = true;\r
                     }\r
                 }\r
                 if (!isEqual) {\r
-                    this.mProtocolList.add(protocolList[i].getStringValue());\r
+                    this.mProtocolList.add(protocolName);\r
 \r
                 }\r
             }\r
@@ -1177,15 +1176,14 @@ public class AutoGen {
         if (protocolNotifyList != null) {\r
             for (int i = 0; i < protocolNotifyList.length; i++) {\r
                 isEqual = false;\r
+                String protocolNotifyName = getStringValue((XmlObject)protocolNotifyList[i]);\r
                 for (int j = 0; j < this.mProtocolList.size(); j++) {\r
-                    if (this.mProtocolList.get(j).equalsIgnoreCase(\r
-                            protocolNotifyList[i].getStringValue())) {\r
+                    if (this.mProtocolList.get(j).equalsIgnoreCase(protocolNotifyName)) {\r
                         isEqual = true;\r
                     }\r
                 }\r
                 if (!isEqual) {\r
-                    this.mProtocolList.add(protocolNotifyList[i]\r
-                            .getStringValue());\r
+                    this.mProtocolList.add(protocolNotifyName);\r
 \r
                 }\r
             }\r
@@ -1330,66 +1328,56 @@ public class AutoGen {
                         if (ppiList != null) {\r
                             for (index = 0; index < ppiList.length; index++) {\r
                                 isEqual = false;\r
+                                String name = getStringValue((XmlObject)ppiList[index]);\r
                                 for (int j = 0; j < this.mPpiList.size(); j++) {\r
-                                    if (this.mPpiList.get(j).equalsIgnoreCase(\r
-                                            ppiList[index].getStringValue())) {\r
+                                    if (this.mPpiList.get(j).equalsIgnoreCase(name)) {\r
                                         isEqual = true;\r
                                     }\r
                                 }\r
                                 if (!isEqual) {\r
-                                    this.mPpiList.add(ppiList[index]\r
-                                            .getStringValue());\r
+                                    this.mPpiList.add(name);\r
                                 }\r
                             }\r
                         }\r
                         if (ppiNotifyList != null) {\r
                             for (index = 0; index < ppiNotifyList.length; index++) {\r
                                 isEqual = false;\r
+                                String name = getStringValue((XmlObject)ppiNotifyList[index]);\r
                                 for (int j = 0; j < this.mPpiList.size(); j++) {\r
-                                    if (this.mPpiList.get(j).equalsIgnoreCase(\r
-                                            ppiNotifyList[index]\r
-                                                    .getStringValue())) {\r
+                                    if (this.mPpiList.get(j).equalsIgnoreCase(name)) {\r
                                         isEqual = true;\r
                                     }\r
                                 }\r
                                 if (!isEqual) {\r
-                                    this.mPpiList.add(ppiNotifyList[index]\r
-                                            .getStringValue());\r
+                                    this.mPpiList.add(name);\r
                                 }\r
                             }\r
                         }\r
                         if (protocolList != null) {\r
                             for (index = 0; index < protocolList.length; index++) {\r
                                 isEqual = false;\r
+                                String name = getStringValue((XmlObject)protocolList[index]);\r
                                 for (int j = 0; j < this.mProtocolList.size(); j++) {\r
-                                    if (this.mProtocolList.get(j)\r
-                                            .equalsIgnoreCase(\r
-                                                    protocolList[index]\r
-                                                            .getStringValue())) {\r
+                                    if (this.mProtocolList.get(j).equalsIgnoreCase(name)) {\r
                                         isEqual = true;\r
                                     }\r
                                 }\r
                                 if (!isEqual) {\r
-                                    this.mProtocolList.add(protocolList[index]\r
-                                            .getStringValue());\r
+                                    this.mProtocolList.add(name);\r
                                 }\r
                             }\r
                         }\r
                         if (protocolNotifyList != null) {\r
                             for (index = 0; index < protocolNotifyList.length; index++) {\r
                                 isEqual = false;\r
+                                String name = getStringValue((XmlObject)protocolNotifyList[index]);\r
                                 for (int j = 0; j < this.mProtocolList.size(); j++) {\r
-                                    if (this.mProtocolList.get(j)\r
-                                            .equalsIgnoreCase(\r
-                                                    protocolNotifyList[index]\r
-                                                            .getStringValue())) {\r
+                                    if (this.mProtocolList.get(j).equalsIgnoreCase(name)) {\r
                                         isEqual = true;\r
                                     }\r
                                 }\r
                                 if (!isEqual) {\r
-                                    this.mProtocolList\r
-                                            .add(protocolNotifyList[index]\r
-                                                    .getStringValue());\r
+                                    this.mProtocolList.add(name);\r
                                 }\r
                             }\r
                         }\r
@@ -2015,4 +2003,7 @@ public class AutoGen {
 \r
     }\r
 \r
+    private String getStringValue(XmlObject xmlDoc) {\r
+        return xmlDoc.getDomNode().getFirstChild().getNodeValue();\r
+    }\r
 }\r
index 77404d40072f740ae5791f14bd8590a1b2fc70bd..50668b096bc88be1589d5a1e1ad152093d947a88 100644 (file)
@@ -20,7 +20,6 @@ import java.util.ArrayList;
 import java.util.HashMap;\r
 import java.util.List;\r
 import java.util.Map;\r
-\r
 import org.apache.xmlbeans.XmlObject;\r
 import org.tianocore.LibraryClassDocument.LibraryClass;\r
 \r
@@ -81,7 +80,8 @@ public class AutogenLibOrder {
             if (libClassConsmList != null) {\r
                 String[] classStr = new String[libClassConsmList.length];\r
                 for (int k = 0; k < libClassConsmList.length; k++) {\r
-                    classStr[k] = libClassConsmList[k].getStringValue();\r
+                    //classStr[k] = libClassConsmList[k].getStringValue();\r
+                    classStr[k] = getStringValue((XmlObject)libClassConsmList[k]);\r
                 }\r
                 if (this.libInstanceMap.containsKey(libInstance[0])) {\r
                     throw new Exception(\r
@@ -99,17 +99,17 @@ public class AutogenLibOrder {
                     .getLibraryClassArray(CommonDefinition.AlwaysProduced);\r
             if (libClassDeclList != null) {\r
                 for (int j = 0; j < libClassDeclList.length; j++) {\r
-                    if (this.libClassMap.containsKey(libClassDeclList[j]\r
-                            .getStringValue())) {\r
-                        System.out.println(libClassDeclList[j].getStringValue()\r
+                    //if (this.libClassMap.containsKey(libClassDeclList[j]\r
+                    //        .getStringValue())) {\r
+                    String libClassName = getStringValue((XmlObject)libClassDeclList[j]);\r
+                    if (this.libClassMap.containsKey(libClassName)) {\r
+                        System.out.println(libClassName\r
                                 + " class is already implement by "\r
-                                + this.libClassMap.get(libClassDeclList[j]\r
-                                        .getStringValue()));\r
+                                + this.libClassMap.get(libClassName));\r
                         throw new Exception(libClassDeclList\r
                                 + " is already have library instance!");\r
                     } else {\r
-                        this.libClassMap.put(libClassDeclList[j]\r
-                                .getStringValue(), libInstance[0]);\r
+                        this.libClassMap.put(libClassName, libInstance[0]);\r
                     }\r
                 }\r
             }\r
@@ -286,6 +286,10 @@ public class AutogenLibOrder {
         }\r
         return false;\r
     }\r
+\r
+    private String getStringValue(XmlObject xmlDoc) {\r
+        return xmlDoc.getDomNode().getFirstChild().getNodeValue();\r
+    }\r
 }\r
 \r
 /**\r
index d07712a66303c4de9288ad97ba3138e5915c6e2c..d43cd96bbd4cbb1c7f03ed4c3592f7c2c88421ce 100644 (file)
@@ -76,6 +76,9 @@
             <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
                 <xs:element name="BootMode">\r
                     <xs:complexType>\r
+                        <xs:sequence minOccurs="0">\r
+                            <xs:element name="HelpText" type="Paragraph"/>\r
+                        </xs:sequence>\r
                         <xs:attributeGroup ref="BootModeAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
                 <xs:element name="DataHubRecord">\r
-                    <xs:complexType>\r
-                        <xs:simpleContent>\r
-                            <xs:extension base="C_NameType">\r
-                                <xs:attributeGroup ref="DataHubAttributes"/>\r
-                            </xs:extension>\r
-                        </xs:simpleContent>\r
+                    <xs:complexType mixed="true">\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="DataHubCName" type="C_NameType"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="DataHubAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
                 <!-- Remove Arch and use Arch Attribute for DataHubRecord instead. -->\r
                 <xs:element minOccurs="0" maxOccurs="1" name="CreateEvents">\r
                     <xs:complexType>\r
                         <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
-                            <xs:element name="Event">\r
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="EventTypes">\r
+                                <xs:complexType>\r
+                                    <xs:sequence>\r
+                                        <xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/>\r
+                                        <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+                                    </xs:sequence>\r
+                                    <xs:attributeGroup ref="EventAttributes"/>\r
+                                </xs:complexType>\r
+                            </xs:element>                            \r
+                            <xs:element minOccurs="0" name="Event">\r
                                 <xs:complexType>\r
                                     <xs:sequence>\r
                                         <xs:choice>\r
                     </xs:annotation>\r
                     <xs:complexType>\r
                         <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
-                            <xs:element name="Event">\r
+                            <xs:element minOccurs="0" maxOccurs="unbounded" name="EventTypes">\r
+                                <xs:complexType>\r
+                                    <xs:sequence>\r
+                                        <xs:element minOccurs="1" maxOccurs="1" name="EventType" type="EventTypes"/>\r
+                                        <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+                                    </xs:sequence>\r
+                                    <xs:attributeGroup ref="EventAttributes"/>\r
+                                </xs:complexType>\r
+                            </xs:element>                            \r
+                            <xs:element minOccurs="0" name="Event">\r
                                 <xs:complexType>\r
                                     <xs:sequence>\r
                                         <xs:choice>\r
     <xs:element name="Guids">\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
-                <xs:element minOccurs="0" maxOccurs="unbounded" name="GuidCName">\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" name="GuidCNames">\r
                     <xs:annotation>\r
                         <xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation>\r
                     </xs:annotation>\r
                     <xs:complexType>\r
-                        <xs:simpleContent>\r
-                            <xs:extension base="C_NameType">\r
-                                <xs:attributeGroup ref="GuidAttributes"/>\r
-                            </xs:extension>\r
-                        </xs:simpleContent>\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="GuidCName" type="C_NameType"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="GuidAttributes"/>\r
                     </xs:complexType>\r
-                </xs:element>                \r
-                <xs:element name="GuidEntry">\r
+                </xs:element>\r
+                <xs:element minOccurs="0" name="GuidEntry">\r
                     <xs:annotation>\r
                         <xs:documentation xml:lang="en">Describe the valid content of a GUID element in and MSA file.</xs:documentation>\r
                     </xs:annotation>\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
                 <xs:element name="HiiPackage">\r
-                    <xs:complexType>\r
-                        <xs:simpleContent>\r
-                            <xs:extension base="C_NameType">\r
-                                <xs:attributeGroup ref="HiiPackageAttributes"/>\r
-                            </xs:extension>\r
-                        </xs:simpleContent>\r
+                    <xs:complexType mixed="true">\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HiiCName" type="C_NameType"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="HiiPackageAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
             </xs:sequence>\r
     <xs:element name="Hobs">\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
-                <xs:element name="Hob">\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" name="HobTypes">\r
+                    <xs:complexType>\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="HobType" type="HobTypes"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="HobAttributes"/>\r
+                    </xs:complexType>\r
+                </xs:element>                \r
+                <xs:element minOccurs="0" name="Hob">\r
                     <xs:complexType>\r
                         <xs:sequence>\r
                             <xs:choice>\r
         <xs:annotation>\r
             <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>\r
         </xs:annotation>\r
-        <xs:complexType>\r
-            <xs:simpleContent>\r
-                <xs:extension base="KeywordType">\r
-                    <xs:attributeGroup ref="LibraryClassAttributes"/>\r
-                </xs:extension>\r
-            </xs:simpleContent>\r
+        <xs:complexType mixed="true">\r
+            <xs:sequence>\r
+                <xs:element minOccurs="0" maxOccurs="1" name="Keyword" type="KeywordType"/>\r
+                <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+            </xs:sequence>            \r
+            <xs:attributeGroup ref="LibraryClassAttributes"/>\r
         </xs:complexType>\r
     </xs:element>\r
     <!-- LAH This is LibraryClassDeclaration FINAL version -->\r
             <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>\r
         </xs:annotation>\r
         <xs:complexType>\r
-            <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
-                <xs:element ref="LibraryClass"/>\r
+            <xs:sequence>\r
+                <xs:element ref="LibraryClass" minOccurs="1" maxOccurs="unbounded"/>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1">\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="Ppi">\r
-                    <xs:complexType>\r
-                        <xs:simpleContent>\r
-                            <xs:extension base="C_NameType">\r
-                                <xs:attributeGroup ref="PpiAttributes"/>\r
-                            </xs:extension>\r
-                        </xs:simpleContent>\r
+                    <xs:complexType mixed="true">\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="PpiCName" type="C_NameType"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="PpiAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="PpiNotify">\r
-                    <xs:complexType>\r
-                        <xs:simpleContent>\r
-                            <xs:extension base="C_NameType">\r
-                                <xs:attributeGroup ref="PpiNotifyAttributes"/>\r
-                            </xs:extension>\r
-                        </xs:simpleContent>\r
+                    <xs:complexType mixed="true">\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="PpiNotifyCName" type="C_NameType"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="PpiNotifyAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
                 <!-- DO NOT USE Arch element, use Arch Attribute in above instead. -->\r
         <xs:complexType>\r
             <xs:sequence minOccurs="1" maxOccurs="unbounded">\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="Protocol">\r
-                    <xs:complexType>\r
-                        <xs:simpleContent>\r
-                            <xs:extension base="C_NameType">\r
-                                <xs:attributeGroup ref="ProtocolAttributes"/>\r
-                            </xs:extension>\r
-                        </xs:simpleContent>\r
+                    <xs:complexType mixed="true">\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="ProtocolCName" type="C_NameType"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="ProtocolAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
                 <xs:element minOccurs="0" maxOccurs="unbounded" name="ProtocolNotify">\r
-                    <xs:complexType>\r
-                        <xs:simpleContent>\r
-                            <xs:extension base="C_NameType">\r
-                                <xs:attributeGroup ref="ProtocolNotifyAttributes"/>\r
-                            </xs:extension>\r
-                        </xs:simpleContent>\r
+                    <xs:complexType mixed="true">\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="ProtocolNotifyCName" type="C_NameType"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="ProtocolNotifyAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
                 <!-- DO NOT USE! removing Arch element, use Arch attribute of Protocol or ProtocolNotify instead. -->\r
                         <xs:attributeGroup ref="SystemTableAttributes"/>\r
                     </xs:complexType>\r
                 </xs:element>\r
-                <xs:element minOccurs="0" maxOccurs="unbounded" name="SystemTableCName">\r
+                <xs:element minOccurs="0" maxOccurs="unbounded" name="SystemTableCNames">\r
                     <xs:complexType>\r
-                        <xs:simpleContent>\r
-                            <xs:extension base="C_NameType">\r
-                                <xs:attributeGroup ref="SystemTableAttributes"/>\r
-                            </xs:extension>\r
-                        </xs:simpleContent>\r
+                        <xs:sequence>\r
+                            <xs:element minOccurs="1" maxOccurs="1" name="SystemTableCName" type="C_NameType"/>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>\r
+                        </xs:sequence>\r
+                        <xs:attributeGroup ref="SystemTableAttributes"/>\r
                     </xs:complexType>\r
-                </xs:element>                \r
+                </xs:element>\r
             </xs:sequence>\r
         </xs:complexType>\r
     </xs:element>\r
                                 <!-- Make GuidC_Name required -->\r
                                 <xs:element minOccurs="0" maxOccurs="1" name="GuidC_Name" type="C_NameType"/>\r
                             </xs:choice>\r
+                            <xs:element minOccurs="0" maxOccurs="1" name="HelpText" type="Paragraph"/>                            \r
                             <!-- DO NOT USE, removiing  ByteOffset, Bit Offset and OffsetBitSize-->\r
                             <xs:element minOccurs="0" maxOccurs="1" name="ByteOffset" type="HexWordDataType">\r
                                 <xs:annotation>\r